tyama discrete
正解は、8と17です。

これは、SUBSET−SUMという 問題に対する動的計画法という アルゴリズムの基本的な考え方を応用したもので、 これを知っていればすぐに答がわかります。


SUBSET−SUMとは、 いくつかの数字から成る集合があるときに、それらの数字の和 (重複の使用は許さない)で、ある1つの数字を作ることができるか、 できないか判定する問題です。 例えば、{3、5、6、9} という集合があるとき、17という数はそれらの和で作れるか というと、答えはYESです。

さて、この問題に対する動的計画法は、
まず、3で作ることのできる数の集合をA1 とすれば、
 A1={3}
つぎに、3と5で作ることができる数の集合をA2 とすれば、A2は、3で作ることのできるA1と、5自身と、5にA1の 各数を足し合わせた数になるので、
 A2={3、5、8}
同様に、3と5と6でできる数の集合をA3とすれば、 3と5の組合せで作れる数字の集合であるA2と、6自身と、6にA2の各数を 足してできる数字からできています。したがって、
 A3={3、5、6、8、9、11、14}
そして最後に{3、5、6、9}の集合から作れる 数字の組Aは、
 A={3、5、6、8、9、11、12、14、15、17、18、20、23} となっている。17も確かにこの中に含まれています。


この考え方を利用すれば、クイズの答えは、 {1、2、4}で作れる数字の組は、{1、2、3、4、5、6、7}なので、 8があれば1〜15までの数字がすべて作ることができます。 さらに、16はできなくても構わないので、17があれば16を除いた 1〜32までの数字が全て作ることができるのがわかるでしょう。


戻る