ACM-ICPC Japan Domestic Warm Up I
私は腹を切って死ぬべきだと思いました。
以下、参加記録。
A: Traffic Analysis
B: Cubes Without Holes
C: Simple GUI Application
- パーザー。Dに逃げようかとも思ったけど、とりあえず書いてみることに。
- stringstreamから読み取ってパーズしてみたり、押されたパネルのポインタを返してみたりと新しい試みをしてみました。
- 途中ICPC Programming Club入部希望という1年生に話し掛けられたので、アカウント作らせたり "Hello, World" 解かせてみたり。
- そんなことをしているうちに完成。WA. この辺りから禁断のSubmitデバッグに走り始める。
- プログラムを何度読み返してもおかしなところが見つからない。もう一度問題文を読む。
- 出力すべきは「そのパネルの直接上」のパネルの数だ!再帰的に上の上まで調べてた・・・。
- 直したら通った。引っ掛け問題だー。
- tanakhさんが30分でここまで解いてるのを見て驚愕。さすがパーザーの偉い人。
D: Course Planning for Lazy Students
- 可能な履修をDPで全通り調べてみよう。
- (状態数) * (次に履修する科目) * (先修条件のチェック) で O(2^N * N^2)だ。ちょっと遅いか。
- いやいやいや、先修条件のチェックはビット演算で一発だ。O(2^N * N) ならきっと間に合う。
- それにしてもコーチはDPよりも探索の方が好きだったはずなんだけど・・・とか思いながら書く。できた。
- TLE. 小手先の高速化を計るもやっぱり駄目。やっぱり探索だったか・・・。
- DFSしてみたけど余計に遅くなって死亡。3問でした。
コンテスト後は、同じく鬱モードのid:iakasTと後輩Mとコーチとでガスト行ってきました。