392.1

まぐれ当たりはよろしくないので、慎重にやるべき...。

250

一つだけ*を含む文字列が二つある。*は任意の文字列とみなして良いとき、二つの文字列が同じ文字列であるならば、それを満たす一番短い文字列を答えよ、という問題。


やるだけのはずだけれど、正解は不明。愚直にやるのは賢くないのでどうしたものか...。

500

ある整数が別の整数に変換される規則が与えられる。既に登場した整数に変換された時点で変換処理を終えるとして、一番長い変換パスの長さを答えよ、という問題。


ループ検出されるか、既にパス長が計算済みの整数が出てくるまで探索。探索を逆に戻れば良い。再帰呼び出しだとスタックが溢れるかも?

1000

整数が与えられるので、それ以上の整数のうち、各桁に登場する数字がすべて同じ回数になるもので最小のものを答えよ、という問題。


取り敢えず9で埋めれば条件が満たされるので、桁数が増えることはない。なので後は適当に枝を刈りつつ下から順番に決定していくだけ。ある桁の値が大きくなったのであれば、それ以降の桁には任意の値を入れて良いので、一つでも正解になりそうなものが存在するかどうかを判定してやれば、大幅に枝が刈れる。