ICPC練習会@地下室

今日は、7/1のICPC予選に向けてGNC主催の練習会。3年、4年、M1の各チームに、優勝候補のcombat*1をゲストに迎えて行われた。過去問6問を3時間かけて解く。「/Oxの悲劇」*2と呼ばれた昨年の二の舞にならないように、練習をちょこっと重ねてきたわけだが・・・。ちょこっと。Wikiの更新が5/7で止まっている・・・。
さて、今回はF氏のX40を使ったのだが、エディタ環境に問題が。彼はふだん、秀丸+日本語キーボードなのにたいして、自分はemacs+英語キーボード。開始前にxyzzyを入れて.xyzzyを修正し、エディタはどうにか。問題は日本語キーボード。先日、eccHHK lite2日本語で苦労したのが頭をよぎる。
では、今日の問題。

まずは、BをF氏が、CをO氏がそれぞれ解き始める。読むのが遅い自分も遅れてDを読むが、解法がすぐには思い浮かばず、Eへ。import java.util.regex.*;で終わりなのがわかったので、Java本を本棚から奪取。javaでreadLineってどうやるんだっけ・・・。Bを解いてる最中だったので、とりあえずおいといてDを考えたら、1025x1025の配列を用意するだけで終わりなことに気づく。BがWrogAnswerのあとに、Dを解いて1問目。Cは素朴な実装だが、TLE。添え字の間違いに気づいて、Bも正解。2問目。続いて本を読みながらEを書いて3問目。問題文の長いFはF氏に任せて、Cのデバッグ。いろいろ試行錯誤するが、mapが遅いんじゃないと思って、vectorの2次元配列になおしたらOK。4問目。残り30分。ハノイは無視。combatが解いたという声が聞こえる・・・。マジ? FはWrongAnswer連発。あれこれやって、最後の修正もWrongAnswerで、結果4問。終わった後に、同じ問題を連続して解いた場合、カウントしないように修正したら通った。ぉーん。実は終わる10分前にその話をしながら、なぜかスルーしてた。気づいてたのに、なぜ修正しなかったんだ・・・。時間ぎりぎりになるとテンパるのは、結局昨年から変わっていなかったと。
やはり日本語キーボードではまりまくり。突如、Javaのためにeclipseを起動、emacsキー設定にかえるも、括弧がずれてあわててC-hで消そうとしたら変なウィンドウが出てきて・・・。外付けのキーボードを持って行くか。それから、STLアルゴリズムどころか、push_backを忘れてたときは正直焦った。OCamlやり過ぎ。あとは、やっぱりK&RとかJavaのリファレンスとか手元においときたいね。本を探しに2度走ったし。さて、来週はGokuri主催(?)の練習会。今度は宿敵klonoaもでるそうな。次こそは1位に・・・。無理っぽい。

*1:京大のチーム

*2:ホントは解けていたのに、最適化オプションをつけていなかったため、まともな時間に終わらず、3問正解にとどまるとともにスシーを逃した件。しかし、それでも本戦にはとどかなかったわけだが