2021/11/05にあったICPC国内予選に参加して、全体127位で敗退しました
ちなみに酔っ払いながら書いてるので誤字脱字などは悪しからず(ほろ酔いで酔うな)
模擬 のように、チーム「HigaKoder」でNanashimaさん(緑)、Pech1さん(水)と一緒に参加しました。
コンテスト前
15時までわたしが授業だったので15:30くらいから作戦会議的なものが始まりました。
一通り終わった後暇だったので https://jag-icpc.org/?2021%2FTeams%2FList に載せるひとことどうするてきな話になり、共通点を探すことに。 共通点が見つからなかったので麻雀って共通点にしようということになったが、学内ネットからじゃんたまに繋がらず断念。 私が「学内1位目指します!」でいいのではというとACした。(*弊学は1チームのみ)
コンテスト
い つ も の
去年の参加記を読み漁ってたのでF5リロードしてました。 いきなり始まるのも去年と同じ。
AをPech1さん、BCを僕とNanashimaさんが見ることに
C
問題が長すぎたのでまずはサンプルを読んだ。
どうやら構文解析っぽかったので他の人にCが構文解析であることを伝える。
問題を読むが解法が生えず、5分で捨てた。
B
Bが詰まってそうだったのでBに行く。
考えてるうちにAが通ってた。
縦と横と全体を管理して幅優先の実装してたら全体の初期値が-1ではまずいことを指摘され101に直す。
Pech1さんが先に実装終わって出してWA。たぶんunionfind木?実装覚えてない。
そうこうしてるうちに実装終わって出したらWA。
Pech1さんがすぐに縦or横に何もないときが一意に定まらないことに気が付き自分が直してAC。
E
Bをやってる間にDを読んでいてくれたらしいので後ろの問題を読むことにする。
Eダイクストラじゃね?と言って実装を始める。
pariotity_queueにλ式入れられるかわからなかったので比較演算子をオーバーロードした。これが大戦犯。
拡張ダイクストラっぽいことをしたのにWAが出まくって焦る。
Dもバグってるらしくめっちゃ焦った。
2時間くらいデバッグしたのに解けずに終了。
原因は 待った回数が50を超えたときの比較で同じときを考慮していなかった。
https://gist.github.com/harurunrunrun/9653d8b0260d56e116814b0d301e565c
の59行目が戦犯です。
if(A.cnt==B.cnt){return A.cost<B.cost;} else {return A.cnt<B.cnt ;}
に変更するとACになると思います。知らんけど
感想
実力不足でした。来年はこのメンバーで出るラストチャンスらしいので頑張ります。
メンバーのお二方とコーチを引き受けてくださった先生ありがとうございました。来年もよろしくお願いします!