AHC011不参加記

コンテストが始まって問題文を読み、しばらく考えて、山登りで木を作って固定し15パズルを解けばいいと思った。パリティが合わないときは解がないと気づいたけど、よく考えると同じタイルが複数あるので割り当てを同じタイルで1回スワップすればできるようになる。15パズルは昔よくやってたのでできると思ってしまったけど、自分が手でやっていた上から順に合わせていくやり方はけっこう手数がかかるし、そもそも実装がめちゃくちゃ難しい。そこで、実行時間が間に合うかわからないけどとりあえずA*探索を試そうと思った。木を作るパートは、Twitterでビジュアライザの画像を見て山登りでなんとかなる気がした。

まず15パズルのパートを書くのだが、結局今日まで書かなかった。面倒な実装だからやる気が出なかった、というと少し違う気がする。勇気がなかった。うまくいかないかもしれない。そんな都合のいいことは起こらない。趣味のプログラミングと同じパターン。怖いのだ。まあ自分の方法がダメだったとして、それを知るためにとりあえず実装するのが近道なんだけど、全く手が動かない。足がすくんでいる。

週の前半はそこそこ時間を無駄にしてしまった気がする(何もせずうじうじしてる)。週後半になると、意識して別のやりたいことをやれるようになった。今日は、15時くらいから15パズル部分の実装を始めた。単純なA*でどのくらいの性能になるのかは知りたい。間に合わない時間になったから書けるようになったのか?アルゴコンでも、あまりにもやりたくない実装は、完成がコンテスト時間ギリギリになるよう調整しているフシはあった(ほんとか?って思うけど)。一応19時ギリギリまで粘ってみたけど、動くコードの完成までは行かなかった(Textで自明解を提出した)。さっきまでデバッグしてたけど、とりあえず意図したコードにはなったっぽいが、これでは全くスコアが出ない。ここをスタート地点として色々考えるのがAHCなのだろうけどね。

困った。長期AHCが負担になりつつある。やりたいことだけやればいいはずだが、やらないと自尊心がゴリゴリ削られる。なんでやねん。Twitterで「上手く行った」とか「難しい」とかAHC関係のツイートを見かけるだけで腹が立つ。アルゴコン含め短期なら高々その時間しか無駄にならないけど、1週間は無駄にするには長すぎる(といって、必要な勉強や研究の制限時間としては短いんだよなあ)。んー、実装がね、心理的に苦手。恐怖心というのは、自分のプログラミング関係の才能の中でも特にそれを持っていることを嬉しく思うものだけど、まあこれはデメリットとして現れているケースだよね。特に対策は思いつかない。心身の健康に気をつけるくらいか。