Warm Up Contest II

前回に引き続き会津大のWarm Up Contestに参加

結果は前と同じ3問。ただJavaが使えたのでスコアは前よりはよかった。

A : Sleeping Cats

猫がいっぱい出てくる問題ってどっかで見た設定だなと思いながら読んでた。
やるだけ。
7/0

B: Monster Factory

最初に右に動かすというのを見落としていて、解が一意に決まらないのではとか悩んでたけど、最初に動かす手が決まっているので真中にある文字をみれば右に動かすか下に動かすかは一意に決まる(文字に重複がないため)
27/0

C: Midnight Teatime

パースして木を作って3^8通り文字の書き方を全探索して終了。
54/0

D: Dr. Nakamura's Lab.

状態空間が(8^2)^4 * 2^3 = 2^27で無理じゃないかなと思う、一応3を超えないが3を含まなければ(8^2)^3 * 2^2 = 2^20で余裕で間に合うのでジャッジに入力チェック用のプログラムを投げてみると3を含むようなのであきらめる。
後でほかの方の日記とかを見るとまず2^3のところはコンテナの位置が決まればパネルの状態は一意に定まるのでいらなくて2^24のところだけどコンテナは押したら止まらないので状態はそんなにはできないのでBFSで通るらしい。

E: Frisbee Dogs

きちんと二次方程式を解いてシミュレーションすれば求まるらしい。
自分はそこの定式化が面倒だったので二分探索でもとめようとしてWAを連発した

F: Chocolate with Heart Marks

パッと見貪欲でいけるのではと思って、貪欲にブロックをとってくプログラムを送ったらWA。そのあと判例は山ほど見つかったけどうまいやり方が見つからず放置。
正解はシュタイナー木を作成するアルゴリズムを実装すればよいらしい。