SRM392

250

アスタリスク*がひとつ入っているような文字列が2つ与えられる.それぞれの文字列において*に適当な文字列を入れたときに与えられた2つの文字列が同じになりえるかどうかを求めよという問題.複数ある場合は最も短いものを返す.
一つの文字列の*に他方の文字列の部分文字列を代入した文字列に対して,条件を満たすかどうかをすべて調べる.

500

1からNまでの数字が時計回りに並んでいる.数字iからiの各桁の数字を足し合わせた数だけ時計回りに動けるとする.たとえばN=4のとき1->2, 2->4, 3->2, 4->4である.
このとき最長の道の長さを求めよという問題.
今x->yでyからxに戻れないとき,xからの道の長さ=yからの道の長さ+1が成り立つので,先にループの部分の長さを求めて,次にループの外からの長さを求めていく.