ICPC2022 Regional に選出されました! (Prelim の参加記事はこっち)
初の Regional オンサイト参加ということでかなり緊張しましたが、参加記です!
準備
- JAG-ICPC に出場する (こっちもオンサイト)
- US 配列キーボードに慣れておく (Windows の設定から変えた)
前日
感情
明日からICPCとか実感わかなさ過ぎてやばい (語彙力)
今日終わったら明日からICPCなのでどきどきわくわく
ドキドキワクワクしかなかった。
本音を言うと、チーム練習をほとんどやってきてないので多少の不安はあった。
スマホ不具合
スマホが充電されない、こまった
なんかスマホが充電できない不具合に見舞われました。。
このまま充電できずに Suica とか Google Map とか使えなかったらどうする!?とか考えました。。
Android アップデートしたせいか、事故って濡らしてしまったせいか、などいろいろ考えましたが電源切ったら一時的に直ったのでシステム側っぽい。
Day 1
ICPC2022 Regional Day1!うおおおお
会場着まで
家から会場まで 2 時間。遠い。
まず、会場では英語しか使われないという噂を聞いたので、英語のポッドキャストを聞いてました。
そこで英和辞典を忘れたことに気づきます。昨年度とは違ってオンサイトなので、検索ができないので単語の意味が分からないと詰みます。でも何とかなるか 👊😁 + 戻ってる時間はない 😥 ということでそのまま直行。
一応早めに出たものの、時間が余ってしまうので、突発的に某場所に行ってきました。
silent の聖地巡礼、世田谷代田駅! 楽しかった~ なんならもっと巡礼したかったけど、時間過ぎてしまうので駅だけ。
はい、待ち合わせ場所の横浜駅に着きました。駅がでかい。さすが都会。
合流後、軽くご飯食べて向かいます。
会場着
つきました。エントランスから英語。 日本人同士なんだから日本語でいいじゃん。 学生証を見せて、本人確認をして中に入ります。
すげ~~~~~~!!
この後リハーサルコンテストです。
リハーサルコンテスト
いろいろ諸注意の説明をされ、リハーサルコンテストです。
問題やコンピュータのログイン情報は Do not touch until we say so. と書かれた 怪しげな 封筒に入ってます。
リハーサルなので、適当にやります。
環境構築
まずはログイン情報を確認して、ログオンし、DOMJudge にログインします。
エディタは何使うか、これは VSCodium にすぐまとまりました。
フォルダは Home Directory を開いておき、テンプレートファイルを作っておきます。
先輩たちは環境構築中に A 問題を見ていたので、お任せしました。
A
A 問題は、まあ数列の総和を求める問題。
やるだけを見てるだけ。
すぐ AC しました 🎉
B
自分が担当しました。インタラクティブ問題です。
5 文字の t
or f
からなる文字列をあてるゲーム。間違ってたら合ってる数を教えてくれる、 Hit and Blow みたいな感じ。
全探索すると 32 回聞くことになるけど、12 回までしか聞けないという設定。
まず全部 f
で固定しておいて、合ってる数を記録。
1 個ずつ t
にしていって、合ってる数が増えたらその t
を確定、増えなかったら f
で確定とすることで、最大 6 回で終了する。
int Query(string s) {
cout << s << endl;
string t; cin >> t;
if(t == "completed") exit(0);
int a; cin >> a;
return a;
}
int main() {
string s = "fffff";
int a = Query(s);
rep(i, 5) {
s[i] = 't';
int b = Query(s);
if(a >= b) s[i] = 'f';
}
}
ざっくりこんなかんじ。
見事 AC🎉
C
これは、 ICPC2019 Regional A 問題 でした。
解いたことがあったので解法もすぐ浮かびましたが、先輩が担当。
はい、AC🎉
D
これも見覚えがあった ICPC2017 Regional B 問題。
これは解いたことがなかったので、考えます。
という小さめの制約なので、全探索して求めます。
「直線が平行か?」を聞かれているので、外積 = 0 で求めます。
以上、リハーサルコンテストでした。
残りの時間は、いろいろ印刷リクエストのテストとか、テストケースチェッカーとか、遊んでました()
チーム紹介
チーム紹介の時間です。今年も つもいよろずさんのオープニング動画 がかっこよすぎる...!
その後各自作ったスライドで紹介。
みなさんすごいユニークなスライドを出してきました。
チーム紹介の時間です。各チーム、ユニークなスライドを送ってくれました。
ちなみに私たちはというと...
今更ながらICPC2022での1分クオリティなチーム紹介スライドを上げておきます… 今日のGood Bye 2022、出てね!!
これです。「締め切りまであと 1 時間!やばいどうしよう...よし、パワポのテンプレート使って...できた!」の 1 分クオリティです。先輩が Good Bye 2022 の Writer をしてたらしく、出てね!のメッセージを添えただけ。 パワポテンプレート最高!
ホテル 1
リハーサルコンテストも終わり、チーム紹介も終わり、17 時ちょっと過ぎ。 (予定では 18 時)
とりあえずホテルに行きます。
近くのスーパーホテルなる場所に泊まりました。同じホテルに泊まっている ICPCer も多くいたようで...
ホテルについたけど、夕食を何にするか決めてない!!
Twitter で情報収集するも、何も得られず。
ホテルに着いたのが 17:30 頃、夕飯を食べにホテルを出たのが 18:40 頃、 実に 1 時間も溶かしてしまいました。。。
中華街
ホテルの文字通り "真横" に中華街がありました。びっくり。
よくわからずに中華街に入ったので、適当に声かけられたお店に入った。
食べ放題 2000 円弱のところ。
食べ放題だったので、角煮、北京ダック、チャーハン、小籠包、ふかひれスープ、酢豚、餃子、アイス、杏仁豆腐をこの順番に食べました。苦しい。けど食べきった。
歩いてるときまじで吐きそうだったけど耐えた。(よくない表現だけど、事実)
ホテル 2
ホテル帰還、食べ過ぎて苦しい………
- SASUKE を見てました。
- ユニットバス苦手です。
- 歯ブラシは自分のを持ってこないと磨きづらいです。
の 3 本です。
Day2
ホテル 3
朝食。荷物を持ってきてしまったので場所をとってしまい申し訳なかった。。
会場着
ICPCで優勝できるかわからない?wフッフッフw心配することなかれwwこんな時にも役に立つのが競技プログラミング、伝家の宝刀†tourist†を使わせていただきますぞ!wwwまずは彼を召喚して……グオーーーー!!!!!!!!失格になってしまった……(悲しい)
緊張を紛らわすために (?) ネタツイもしておいて、いざ開始です!!
コンテスト
環境構築
スタートです!まずはコンピュータにログオン、DOMJudge にログイン、VSCodium を立ち上げテンプレを書く。
ちょうど書き終わったタイミングで A・B が読み終わってたみたいなので、交代。
A は区間スケジューリング問題っぽい問題。
B はインタラクティブ、かずあてゲーム。
どちらも AC しました 🎉🎉
ここまでで開始 30 分。
そのあとはとりあえずざっくり目を一通り通す。
DEFG
ここら辺はほぼ同時並行で考えてました。
F が通されたので、F を見ます。
これは考察が必要そうなのでちょっと考える。微妙。
そうこうしているうちに D が通されてます。見ます。
ん、解けそう。m_99 先輩が書きます。提出します。合わない。。
ぼくも書いてみる。CE だらけであきらめ。
うーん、後回し。
E が解かれています。見ます。
regi 先輩が考察を進めてくれていました。書いてくれました。
その間に、D のデバッグをします。
E 通った 🎉
デバッグをしてみて、修正点が見つかったので書き直します。
結局添字ミスでした。。。D 通った 🎉
G が割と解かれているので見ます。
こちらも regi 先輩が考察を進めてくれていました。
木に落とし込めるっぽいです。m_99 先輩が書き上げます。なんか合わない。
LCA を使いたいので、ぼくが書き上げ、2 人はさらに考察。
書き終わったので交代、見事通りました 🎉
F の考察が進んできた。けど、時間が足りず、終了。。。
結果発表
結果は、14 位でした!大学別だと 8 位。
去年より下がったけど、大学別だとなんか上がってる。
来年度も頑張ります...!できれば暖色 er になりたい!!