やったこととか
初日
9:00, @nya3jp さん宅に @kinaba さんと集合。いきなり遅刻 orz。電車の中で問題読む。
とりあえず何にせよ式の構造とかは必要になるだろうと踏んで、コード書き始め。
今回ミスると以降問題が解けなくなるので、書いたコードの検証とそもそも問題の理解のため、
@kinaba さんと自分と同じコードを二つ作る。@nya3jp さんは、サーバと喋る部分作成。
今回はパフォーマンス重要だよ、という主催のアナウンスにしたがって C++ を選択。
昼食をとりつつとりあえず、構文木全列挙コード/Eval/テスト用parserを書く。
@kinaba さんよりだいぶ遅れて完成。 diff とって大丈夫そうだったので submit。
16:00 ころ初得点。0 点脱却!
(and 0 x) -> 0, (and (not 0) x) -> x
みたいな無駄が大量にあるので、つぶすコードを書き始める。
夕方 @kinaba さんが離脱。
夕食後 @dmikurube さんが合流。
深夜、第一バージョン完成。 -> 帰宅。
lightning は捨てることに。
二日目
起きてちょっと作業。妻と子どもが、妻の同僚の家に泊まりに行くのを見送る。
SAO 13巻購入。
12:00 集合。ちょこちょこ submit はじめる。
昼食。
とりあえず、今の方針ですすめる。@dmikurube さん作 Unittest を全面的に信頼して、
ひたすら最適化コードを足す。
とはいえ、半分終了くらいで、いい加減このまま 30 は解けないと判断して方針転換を図る。
なんとなく思いついた値 base 方針に。
夜中に @dmikurube さんコード書き上げてる。みんなはやい・・・。
三日目
ちょっと寝坊。というか腹痛・・・。
12:00集合、が遅刻(二回目
bonus が @kinaba さん作 leafa によって撃破される。圧倒的撃破率。
ちょっと思いついた最適化ルールを入れる。
終了後 @dmikurube さんの値 base 方針に合流。
夕食。
fold/tfoldがないやつに特攻。だいぶ解けたりする。
終電にて @dmikurube さん翌日のため離脱。
夜中2時すぎ頃 fold に着手。@nyaさんが恐るべきスピードで solver を daemon 化する。@kinaba さんと分担して fold solver 作成。
4時ころ完成。ぶん回し始める。
6時ころ、全生成した小さめの tfold 全部試すコードを挿入。ラストスパート。
8:30ころ、bonus2以外全部まわし終わる。bonus2 に特攻。
というところで時間切れ。