330.1

やるだけ再び...。

250

文字列の中に矢印が埋め込まれているので、一番長いものの長さを答えよ、という問題。


実装あるのみ。矢印の軸のパターンが二通りあるので、ちゃんと同じ軸が伸びているかどうか検査する。

500

文字列集合が与えられるので、ある要素が他の要素の接頭辞にならないような部分集合の数を答えよ、という問題。


接頭辞になるかどうかで木を作る。親を含む場合、子はすべて含まれない、親が含まれない場合、それぞれの子について再帰的に考える。子についてはそれぞれ独立なので積算できる。

1000

N個のものから、交互にいくつか取ることを互いに行うゲームを考える。可能な取り方のパターンが与えられるので、後手が勝利するNは何通りあるか答えよ、という問題。


高々22個までしか取ってはいけないことになっている。これはつまり、直近22個の勝敗パターンが分かれば、勝敗が決定できることを意味している。これはせいぜい2^22通りしかないので、いつかループする。ループした後は、何回同じパターンになるかをカウントすれば良い。