探索イメージ 探索方法がイマイチ掴み難いという人もいるかもしれないので、ちょっと図を描いてみた。 ポイントを整理しておくと、 (1)データを降順にソートしておく。 (2)値の大きい順(=配列の前から順)に、stickの長さ(=length)から0になるまで値を引いていく。同時に、使用した値にはラベリングしておく。 (3)長さ0になったら、lengthを元の長さにセットしなおして(2)を再実行 (4)失敗したらバックトラック (5)長さがlengthのstickがsum/length本できれば成功。 DFSの肝は、 最も新しくラベリングされた点に隣接する点を探索するというところだ。つまり図の中では、探索を左側から順に行うことになる。一旦15-4-...と探索を始めたら、「どうやってもムリ!」というところまで探索してからバックトラックしていく。今回の解は15-3-2-...なので、図の①〜③は