読者です 読者をやめる 読者になる 読者になる

ICFPC2011参戦記

参加していた。メンバーは以下。

  • takaokouji
  • yuya
  • sada
  • morohoshi
  • tor
  • nari
  • yhara
  • kumojima

チーム名はいつものように"yarunee"にする。
今年は社内MLで丁寧に宣伝した甲斐があったのか、過去最高人数となった。

1日目

会社で18:00くらい(仕事終わって)からみんなで問題を読み始める。
みんなで全部理解して、役割分担などを決めた。
torさんがいたのでここは例年よりだいぶん楽だったなぁ。
あと、今年の問題文は丁寧に書かれており、間違いようがなかった。素晴らしすぎる。

とりあえず、私はVM作ろうかなぁというところで帰宅。
帰ってからVMをささっと作った。バグ沢山の状態で。
カードの実装だけど、rubyのlambdaをそのまま使っても良かったんだが、解析しずらいので関数については配列で表現するようにした。以下のような感じ。

  def self.K(x)
    [:K2, x]
  end

  def self.K2(x, y)
    x
  end

これはだいぶん賢くできた気がする。まぁ、常識かもしれないが…。

2日目

VM周りを引き続き実装していた。昼からは2時間ほどスタジオで音楽活動する。
帰るとS(K(辺りの使い方がだいぶん解読されているようだった。

晩くらいにVMがある程度形になったので、takaokouji・sada・morohoshiさんチームに引き取ってもらう。

帰ってからkumojimaさんが作っていたattackのコードを読む。
あぁ、こんな感じでS(Kコンボ決めるのか、というのを確認して就寝。

3日目

朝起きた後は巨大な数値を生成する方法を考えていたけど、ここはそれほどコストにならないことを確認する。
んで、じゃあ、ゾンビを使って攻撃するゾンビパウダーを作ろうと計画した。

1時間ほどで組み合わせはできたので、それを実装してltgでattackするものと戦わせてみた。わりと強いので、これでいけそげだなぁみたいな話になる。
duelサーバにsubmitするとわりと戦えていて、テンションピークがなる。

VMを使ったsolverがまだできてなかったので、ゾンビ戦法を主軸に戦略を練った。
その後5時間はsolver作りであった。

急造のsolverのバグを取りつつ、なんとか動くようになる。
VMチームがバグバグなVMを完全完璧にしてくれていた。

終盤にyharaさんがcopyをうまく使う方法と、putによる複数行動を考案してくれた。
私は途中で帰宅したけど、今朝見たらゾンビでcopyを使うというかなりいい戦術がsolverに入っていた。これは!

今、submitされたのはエラーがでてたなぁ。うーむ。やはり残念。

おしまい。

感想

今年の問題はとてもよくできていて、先に進むほどカードの役割が効いてくる感じだった。
255-iとか効いてるなぁと。問題文が丁寧だったのがすごくよかったなぁ。

反省

基本的にはやはり時間切れだった。いろいろ早くやらないといけない。
次回は合宿みたいな形にした方がいいのかなぁ。お金が掛かるし、参加者のハードルが上がるからそれもやりたくないよなぁ。などと。

が、今年は過去最高に手応えがあったので、わりと満足している。
sadaさんが写真を撮りまくっており、それを繋げて動画にするそうなので、それにも期待。