成長観察日記

競プロとかPythonとかに関しての成長記録

よわよわ茶コーダー♀がはじめてオンサイト参加した話

3/4(土)のTUPCで、初のオンサイト参加を果たしました!

※「おまえだれやねん?」という方はこちらの記事を読むと、よわよわさがわかります…ぐへえ
 つまり、落ち込んでも寝たら忘れるタイプです。よろしくどうぞ!



経緯

けんちょんさんから「ぶりちゃんもTUPC参加しよう!」とリプが飛んできたことがはじまりでした。

フットワークが水素であることと、土日の一泊ならまあなんとか…ということで、ノリで参加登録!(この時点で、何もわかっていなかったのだった…)



TUPCとは?

AtCoderには

  • AtCoder主催のコンテスト
  • AtCoder以外が主催する、AtCoderのシステムを利用したコンテスト

の2種類があります

TUPCは、東北大学の競プロサークル「puzzleknot」が主催する、後者タイプのコンテストです。
他にも東京大学のUTPC、京都大学のKUPC、北海道大学のHUPCなどなど…いろんな大学がコンテストを主催されています。

特徴として

  • レーティングの変動がない
  • 時間が長い(今回はなんと4時間!)
  • チーム戦ができる
  • オンサイト(リアルコンテスト)が開催されることがある

などがあります。

今回わたしは

  • 初のAtCoder外主催コンテスト参加
  • 初のオンサイト参加
  • 初のチーム戦(学校に通ってなくて、集団戦に参加したことがない。協力プレー経験値マイナス)

というトリプルはじめてをしました!
しかも(おそらく)オンサイト参加勢で最弱…†

そんなもんだったので「オンサイトの手引き」としてお役に立てればうれしいなー、とおもい、筆をとらせていただいた次第です。



オンサイト参加までにやったこと

参加登録(オンサイト)

COMPASSにて、参加登録をしました。
TwitterのIDと連動しておくと、アイコンなどが自動反映されてよきよきです!
※わたしはアイコンで人を覚えているので「うお!こんな人が参加するのか!!」が一目でわかってしあわせでした



宿と交通手段の確保

今回は抽選だったので、確実に行くとわかるまでは、キャンセル料がかかる交通手段はひとまず放置。
日帰りで行ってもぎりぎり間に合ったのですが、どうせなら一泊して仙台をたのしみたいなあ…と、まず宿を探しました。
宿はだいたい前日までキャンセル無料のため、そこだけ確認したら軽率にとってOKです!

探した当初はえらい高かったので、確保はしつつも、直前キャンセルを狙ってました。
抽選通過したあと、結局は最初に取ってた宿をキャンセルし、JTBの新幹線&ホテルがセットになったツアーパッケージ(1人あたり22,000円。あれ?往復新幹線より安い…??)で、すてきな旅をしましたー!

余談ですが、ひとりで全国ふらふらする癖があるので

こういう手をよく知っています。
これからも積極的にシェアしていきたい所存です!



チーム決め

最初は誘ってくださったけんちょんさん、りゅうざきさんと組む予定でしたが「参加しようよー!PCも貸すよーー!!」と半強制的に巻き込んだけむにくくんしーふーどさん a.k.a ぷせうどさんと組むことになりました。

今回は、当初あったレーティング制限(チーム全員のレートを足したものの制限)がなくなったので、気軽に組めました!
…と言ってもわたしはよわよわ(当時411)なので、むしろ平均を引き下げる足枷要員なのですがな!ふはは!!

もちろん、個人で参加することもできますし、オンラインだけでも、オンラインとオンサイト勢を混ぜてのチームも可能です。
つまり、人数制限(今回は3人)さえ守れば、なんでもアリです!

規定はコンテストによって違ったり、最初のアナウンスと変わったりすることがあるので、要チェックなのです…!



チーム名決め & 参加登録(AtCoder

コンテストのページで、参加登録をしました。
チーム登録する場合は「チーム名」と「合言葉」が必要です。

チーム名を決める際には、とにかく思ったものを投げまくりましたが

「みんなけむにくくんを愛している」

ということで「けむにくくんを愛でる会」となりました。
合言葉は、みんなで同じものを入力します(つまり、同じチームの人は、チーム名と合言葉、同じものを入力します)



バチャ

本番前に、練習!ということで、チームでバチャをやりました。

  • discordのサーバーを立てる(けむにくくんがやってくれた)
  • 問題を選ぶ(ぷせうどさんがやってくれた)
    昨年のTUPC2021はAizu Online Judgeで開催されたことと、配点から見る難易度が今年とは差異がある(byぷせうどさん)ため、配点的に本番と難易度が近そうなKUPC2021をやりました

discordには問題ごとにチャンネルを作り、考えたことを投げる、というスタイルで行いました。

とはいえ、わたしが解けるのはせいぜいB問題までなので、戦略を以下の感じで決めました。

  • ぶり:A, B, C問題を読み、解けそうなものから解く。わからなかったら軽率に相談する。愚直解を書き、ランダムテストを回す
  • ぷせうどさん & けむにくくん:D問題以降を見て、解けそうなものから取り組む

そうして、はじめての5時間バチャがはじまりました…

結果:1時間延長し、A, B, C, D, Eの5完!!!

わたくし、Bから先はサンプルを図にすることしかできなかったので、実装をひたすらお願いする魚でした…

反省点と得たものは

  • discordにコードを投げる方法を知らず、学んだ(はてブと同じだった)
  • 提出コードに考察を書くと、他の人が見たときにわかりやすい
  • リーダブルコードを意識する
  • 考えたこと、思いついたことはもれなく伝える(例え間違っていても、正しい考察のヒントになるので)
  • ペナは気にせず、とりあえず投げる

でした。

自覚的にわたしは何も力になれず、むしろいることでチームの順位を下げることは明らかでした。
が、ぷせうどさん & けむにくくんが何度もはげましてくれ、具体的なやることを教えてくれたので(その節はお世話になりました)「今、自分ができることを精一杯やろう」と決意できました。ほんとうにありがとう…

個人的には、わからないときに「にゃーん!」「わーん!」「うえええわかんないよおおお!!」の合唱ができたのがたすかりました。
波長が似てる is あんしん!


そうして、あっという間に3/4(土)がやってきました。



持っていったものリスト

  • PC
  • iPad
  • 充電器類
  • モバイルバッテリー
  • めがね
  • 衣類(YNEOSスウェットなど。milkcoffeeさんに着てきて!と頼まれた)
  • 新幹線の切符
  • 財布
  • お菓子
  • 常備薬
  • 美容品
  • パジャマ(家の匂いでおちついて寝る用)
  • ひこにゃんの生首(コンテスト中もみもみしておちつく用)
  • 鹿本(サインをしてもらう用)

持っていけばよかったなあ、というもの

  • 筆記用具
    会場に紙はあったけれど、ペンがなかったため

わたしは考察を全てiPadと提出にコメントアウトで書くひとですが、何かとあるとよかった(サインしてもらうときとか)



コンテスト当日

まず、けむにくくんを鬼電で叩き起こしました。
そして、わたしは調子乗ってたら遅刻しました…ぷせうどさん、ひたすら保護者…

この日3人ともがお互いに初対面だったので、服の特徴など伝えつつ、東京駅のマクドナルド前で合流。

仙台へ向けて出発をしたのでした…!



ごはん(牛タンの補給)

けんちょんさん、りゅーざきさん、ゴリさんと合流して、6名で牛タンを補給!せっかく仙台に来たならばね!!

直前で思いついたことだったので、早めに着いた我々がよさげな牛タン屋を確保し、無事に補給できました。
が、そもそも開店時間が11:00〜と遅かったため、開会式にちょい遅刻をするというムーブをかましてしまいました…反省点そのいちです。



会場着

受付で、Twitter IDとアイコンが書いてある例の札を渡されました。もちろん、コダックもばっちり映ってました(実は、います)。
コンテスト開始まで25分しかなく、ちょっと慌ただしく準備をしながら、お手洗いの場所などを案内していただきました。

会場にはお菓子と飲み物類(お菓子は食べ放題、飲み物は1人1本まで)が用意されていました。
普段お水をいっぱい飲む人は、自分で持っていった方がよいです!

証明書の関係で学内Wi-Fiにうまく繋げられず、結局4時間フルでデザリングをしました…次はもっと早く会場に着くようにして、Wi-Fiをしっかり繋げよう。反省点そのに

2分前くらいにやっと整い、アルフォートをもぎもぎしながら、コンテスト開始を迎えました。



コンテスト

思っていたよりも、すっごく静かで話しづらかった…とにかく、あっという間の4時間でした…
わたしの担当したAと、ぷせうどさんが担当したFの2完。17秒後にBをACで悔やまれました。
あと20秒はやく相談していれば…くうう

でも、結果に関わらず、というか、結果が帳消しになるくらいにめっちゃ楽しかったです。
考え続けることがだいすきなので、4時間のコンテスト時間はすごくすごくうれしかった。
そして、なにもかもがよわっよわな自分がちょっとでもチームの力になれたことが、奇跡みたいだった。

解説の時間で、自力で通したA問題のdiffが、自分のレートより上の506だったことを知ったとき「成長したなあ」と泣きそうになりました。
C問題以降の解説は「ばなな!」だったので、解説を聞きつつ問題を見つつ「普段自分が解いてる問題はこんなふうにして作られているのかあ」と目をきらきらさせていたら、いつの間にか作問をしてました。
難易度の調整とか、解法から考えるとか、その逆とか、背景や過程を聞けてものすごくためになったし、楽しかった。



懇親会

そのまま会場でゆる〜っとお話タイム。
ふだんTwitterで見る文字や聞く声に生身がついている…という変な感覚でした。

緊張しながらいろんな方にご挨拶させていただき、特にこたつがめさんは緊張と尊敬とアイドル崇拝的感情が入り混じり、開口一番が「す、好きです」になってしまった(ばか)
そんなわたしに爽やかな笑顔で「ぶりおでんさんですよね、こたつがめです」と、topcoderTの腕部分に書かれている「kotatsugame」を示してくれたこたつがめさんは、やっぱり誰もが憧れるレッドコーダーでした。かっこよすぎ。。

個人的に絶対に挨拶しておきたいひとには、しっかり挨拶(敬礼含む)できたので、満足して終了。
チームメイトと温泉に行き、長い1日が終わりました。



反省点

上に挙げた2点

  • 時間には余裕を持ち、受付開始前くらいに着く勢いで行くこと
  • ネットワークに繋げることができない場合があるため、デザリングなどの用意は必ずすること(時間に余裕を持ち、困ったら質問できるようにすること)

の他に

  • コンテスト中はチーム内でも他人の提出は見られないので、discordにコードを送る練習などをしておくこと
  • 口頭で相談する派のチームだったので、もっと端っこに座り、しっかりと口頭で会話すること
  • 実装が手詰まりになった場合、相手に「今相談していいですか」をワンクッション挟んで、早めに相談すること
  • わたしはとても弱いので、次回はチームワークを具体的に、戦略的に構築すること(本当にこれ…申し訳なかった)
  • 他のチームがやっていることをもっと聞いて、良い方法を取り入れること
  • つよくなること

だなあ、と思っています。

ちなみに、女性はパッと見たところわたしひとりでしたが、特に不便や特殊事項は感じませんでした(性格のおかげかな)
お手洗いが占有できてラッキーって感じでした(!!)



そんな感じの、とってもたのしく学びばちばっちのオンサイト参加でした。

改めて、関わってくださったみなさま、TUPCの開催をしてくださった東北大学のみなさん、そして人生初のチームメイトのお二人…ほんとうにありがとうございました!

来年は絶対に4完する。