ICPC Asia Yokohama Regional Contest JAGスタッフ参加記

もし、あなたが

  • 今後もこの大会が続いていってほしいと思っていて、かつ、
  • ICPCへの参加資格がなくなっている

のならば、ぜひICPC OB/OGの会(ICPC Japanese Alumni Group、通称JAG)に入会してください。日本で行われるICPCアジア地区予選は、JAGスタッフによって支えられています。

もし、あなたが企業にお勤めで、日本で行われるICPCを支援したいと思っていらっしゃるのであれば、協賛をご検討いただけますと幸いです。協賛の情報はこちらにあります。

ICPC参加歴

僕は2014年に徳山高専のチームTakoyaki-manとして、2015年に九州大学のチーム836704として、ICPCアジア地区予選に参加しました。

JAGスタッフとしては、2017年からオンサイトのコンテストに毎回参加しています。

JAGスタッフって何?何をするの?

(ここの内容は、自身の参加経験から推測している内容であり、事実ではないことも含まれるかもしれません。)

日本のICPCのオンサイトコンテストに選手以外で参加している人には、大まかに分けると次の4種類がいます。

  • ジャッジ(問題とテストデータを作っている人だと思う。毎年黒いTシャツを着ている)
  • Secretaries(たぶん日本で行われるICPCの運営に密接にかかわっている人。大学の先生や情報科学国際交流財団の人、経験を積んだJAGの人などで構成されているみたい)
  • JAGスタッフ(JAGから参加している人のうち、Secretariesに入っていない人。Secretariesの指揮の下で働いている)
  • バイト(主催校の学生がやっていることが多いと思う)

JAGスタッフの中にもいろいろな人がいて、ネットワークやシステム周りの面倒を見ている人や、解説放送をする人、大会中に必要な雑用(会場の監視や印刷物の配達)をやる人などがいます。

雑用っぽいことはバイトの人たちもやっていますが、失敗するとコンテストに重大な悪影響がおこるものは、必ずJAGスタッフがやっています。

やったこと

この節は起こったことと思ったことを淡々と書いているだけです。丁寧語では書いていません。

また、時系列を間違えていることがあると思います。

事前のあれこれ

JAGのSlackに、アジア地区予選のスタッフの募集が投稿されていることに気が付く。「今年こそオンサイトが実現するように」と祈りながら、参加登録フォームを送信する。

「なーんかJAGのスタッフの情報来ねえな?」と不安になっていると、Secretaries(通称Sec)の人から、「メールが届いていますか」という旨のTwitter DMが来る。慌ててメールを検索すると、見逃していたことがわかった。ちゃんとメールは確認しよう。

久しぶりのオンサイトにそなえるために3年前の記憶を思い出しイメージトレーニングをする。

ユニクロに行って強そうなヒートテックを買う

3年前ぐらいに「ICPC用英会話集があるといいですよね」と話していたことを思い出し、スタッフ用のをちょっとだけ作る。

前日に持っていく荷物をまとめる。山下公園で走ってみたかったので、ランニング用の装備も入れる。

TwitterICPCでの服装について悩んでいるツイートを見かける。2年連続オンサイトをやっていなければ、知らない人も多かろうと思ったので、Twitterで経験に基づくアドバイスを投稿する。どれぐらい現役世代に回るかは知らないが。

12月26日

(9:00) 木更津駅からバスで横浜に向かう。

(10:00) 横浜駅に着く。ポケストップがいっぱいあり、地方との格差を感じた。

気になる本があったので、大きそうな書店に行ったが、思ったより大きくなかった。気になる本もなかった。

(10:20) 会場に向かう。産貿ホールの隣の建物に入っているドラッグストアを見て、前回ここで飲み物を箱買いしたことを思い出す。

(10:45) 産貿ホールに到着。まだイベントの横断幕などはなかったが、中に知っている人が見えたので会場に入る。思ったより会場が暖かくて、昨晩投稿したアドバイスが過剰だったのではないかと思う。でも、薄着よりは厚着の方が後で調整できるしなぁ。

(11:00) 最初のミーティング。自分は電源ケーブルを配線すればいいらしい。電源ケーブルの配置方針をSecの人を中心にみんなで考える。方針が決まったら配線をして養生テープを貼って固定する。

(12:20) 中華街で昼ごはん。中華料理の定食だった。翌日腹が痛くなることを回避するために辛いものは食べない。酢豚を頼んだ。パイナップルが入っていた。

(13:20) 昼ごはんから戻ったら、ネットワークケーブルの配線。ネットワークは計画ができていて、どこの机からどのスイッチのどのポートに接続するかが決まっている。長さが色々あるので状況によって使い分ける必要がある。接続先が簡単にわかるようにするため、ケーブルの端の近くに、反対側がどこにつながっているかを書く。

(14:20) ネットワークケーブルの配線が終わる。JAGスタッフ全員でモックコンテストをしたいが、まだシステムが準備できていないようなので、他のことをやる。自分は、学生バイトが名札を作っているのを手伝った。また、IDとパスワードが書かれた紙を封筒に詰める作業もやった。

(16:50) モックコンテストをやる。自分はC++とKotlinで解いてみる。IntelliJのプロジェクト設定がうまくできなかったので、インデックス機能がうまく動いていなかったので辛かった。有識者に教えて欲しい。あと、普段はHHKBを使っているせいで、普通のキーボードで文字がうまく打てなくなっていた。Realforce R3を買う理由ができた。

システム攻撃のプロが上手にコンテストシステムを破壊したようで、ジャッジキューが動かなくなる。モックコンテストを再びやるために、翌日の集合が8時半になる。先生に今日やったことを覚えておいて、明日も同じことをやるように指示が出る。先生、自分は鳥頭なので、もう何をやったか覚えていません。

(18:00) Tシャツと名札、Certificateをもらう。Tシャツはビニール袋から出して干さないと臭いらしい。

(18:15) スタッフでいい感じに分かれてご飯に行く。イタリア料理店に行き、食べたことがなかったラザニアを食べる。

(19:55) ホテルに着く。ホテルの部屋からポケストップ4つ、ジム1つにアクセスできた。都会有利すぎ。テレビで水曜どうでしょうがやっていたので、風呂の準備をしつつ見る。

ラザニアだけでは足りなかったので、ローソンに行ってポテチとメロンパンを買う。ついでに水とプロテインバー的なもの(たらスティックのめんたい味だったと思う)を買う。プロテインバーはすごくまずかった。二度と買わない。

コンビニの帰りに、ポケモンセンターの袋を持ったスタッフを見つける。ラグラージのぬいぐるみがあればほしいなと思ったが、ポケモンセンターはすでに閉店時間だった。

11時就寝。

12月27日

6時起床。ホテルから山下公園の高台までを往復する。ガンダムを撮影して満足して帰る。帰りにホテルの朝食を確保して部屋で食べる。部屋に持って帰ったら、提供されているコーヒーやジュースを飲めなかった。

(8:00) 会場に向かう。足の負担を増やさないため、電車で行った。

(8:15) 会場に着く。昨日いなかった人に挨拶をする。

(8:30) ミーティングをする。「受付の経験がある人は〜」と言われたので手を挙げる。受付係に抜擢された。知ってた。

モックコンテストをする。

(10:50) 机に配布物を配る。自分は選手用のTシャツMサイズの一部と、CLionの説明書きを配った。

受付の役割分担をする。自分はサーモで引っかかった人を再検査する係。

(12:45) ミーティングをやってから受付のシミュレーションをする。

(13:00) 受付開始。Tシャツや名札を身に着けずに会場を出ようとする・出た人が結構いたので、会場でTシャツと名札を身につけるようにアナウンスしてもらう。

受付終了。入り口を監視する。(部外者が入って来ないように)

(14:00) 開会式が始まって、人の出入りが少なくなったところで、翌日の体温測定のときに立ってもらう位置を明確にするためにバミる。(何回も「メバリ」と言っていたが、バミるだった)

選手が消毒液を出すのに手間取っているので、スタンドを確認したら、セッティングがあまりうまくいっていなかった。調整する。

(14:50) リハーサル中に印刷物を配る練習をする。

昨日、IDとパスワードの紙を封筒に入れる作業をやったので、本番用のものを作る係に任命される。

(16:20) リハーサル終了。

(18:00) システムに問題が見つかったため、Secの人たちは居残りで豪華ご飯にいけなくなる。Secの人たちの分も中華料理店の食べ放題を満喫する。腹が痛くなるので辛い物を食べないようにしていたが、他の人が頼んでいたり、ハチノスが入っているメニューが辛いのしかなかったりしたので、加減して食べた。腹はいっぱいになった。

(20:40) ホテルに到着。エアコンが動かない。型番を確認して説明書を探して読んだが、治らなかったのでフロントを呼ぶ。エアコンは直った。

チェックアウトの準備をして11時ごろ就寝。

12月28日

2時30分に目が覚める。さすがに早すぎるので、二度寝をしようとするが、眠れない。5時ぐらいに寝るのをあきらめ、朝食の開始時間を待つ。

(6:30) 朝食を食べる。

(6:55) コンテスト会場まで歩いて行く。行程の半分ぐらいで交通費をケチったことを後悔した。足に負担をかけないことを優先すべきだった。

(7:15) 会場に到着。

(7:30) ミーティングで引き続き受付係を拝命。昨日検温をやっていた人がいなかったので別の人が入ることになる。

持ち込み可・不可のものをスタッフで話し合っているときに、必要そうな英文を列挙する要請が出たので、英語強者と一緒に考える。発音と綴をかなり適当に覚えていることがバレる。

新人にサーモの使い方を説明しているところに、昨日検温をやっていた人がやってくる。その人をサーモ係にし、新しい人を再検温係にする。自分は晴れて予備人員の予備人員になる。実質無職。前日と同様、受付のシミュレーションをする。

(8:30) 開場。

会場の外にいる参加者っぽい人たちがTシャツと名札が見える状況になかったので、身に付けるように呼びかける。この日はどこの机でも受付ができる。ただ、入り口の正面の机に基本的に集まって混雑し始めたので、いい感じにルーティングする作業をする。受付を素通りするチームや、蓋ができない缶を持ち込もうとする人がいるので気が付き次第ブロックする。

(9:30) 受付が終わり、コンテスト開始。入り口監視には他の人+学生バイトがついたので会場の見回りや印刷物の配布をする。

(12:00) 昼食を順番に食べる時間帯になる。交代の人が来てからご飯を食べる。とんかつの弁当だった。食べ終わり次第、会場の見回りに復帰。

(13:30) 足が疲れてきた。30分ぐらいなら大丈夫かなと思っていたが、2時半終了だった。もう無理なので他の人に交代してもらって、印刷物配布係になる。

印刷物が大量に印刷され、配布係が常時配布している状態になる。交代してもらった意味とは。

(14:25) 終了直前に会場の監視係に戻る。延長時間中に対象外のチームがコンピューターに触ることを止めるため。延長時間開始後、1チームがマウスに触れようとしたところを止めた以外は特に注意することはなかった。

(14:33) コンテスト終了後、選手が自由に動き回っているところを見回り、ケーブルを踏んでいたり、荷物がケーブルの上においてあったりする場合は注意をする。

(15:00) 表彰式。特にやることがなかったので、知り合いが勤めている企業のブースに行ってちょっとだけ話す。

コンピューターの片付け係に任命される。

(16:35) 表彰式後、ゴミ袋を持って歩き回り、ゴミを入れてもらう。はじめは2つしか袋を持っていなかったが、いろいろなゴミの種類を回収する必要があることに気がつく。必要がなくなった荷物用の袋をゴミ袋に転用することで解決。ゴミ集めの天才。9つのゴミ袋を操る。

ゴミの回収がおおよそ終わったので、コンピューターを片付ける。コンピューターを片付け終わったら、必要なくなった諸々を片付ける。椅子を片付けている時が特に大変だった。

最終ミーティング直前に「元気だったら梱包を代わってくれ」と頼まれた。「スタッフに元気な人は残っていないのでは?」と思ったが、その人ほど疲労困憊ではなかったので代わりに梱包を手伝った。

(19:20) 最終ミーティング。無事終わったのでちょっと涙が出る。

(19:30) 横浜でご飯を食べて帰ろうと思っていたが、みんな結構すぐに帰ってしまった。他にも色々話している人がいたが、話に夢中なようだったので1人で食べることにして会場を出る。

帰っていくスタッフを見かけたので追いかけてご飯に誘う。中華街でセットメニューを食べることにする。もう翌日腹が痛くなっても問題ないので、麻婆豆腐を頼んだ。酒を解禁して紹興酒も頼んだ。期待したほど麻婆豆腐は辛くなかったが、美味しくはあった。

2人でICPCエゴサーチをしたり、思い出話をしたりした。「オンサイトのコンテストのいいところって、国内で最も頭のいい人たちの活動を、いろいろな大学の人に見せられるところですよね」という話をした。

(21:10) 結構いい時間になったので、会計をして別れ、横浜駅から木更津行きのバスに乗る。横浜駅のバス乗り場を探すのにちょっと迷ったが、バスの時間には間に合った。結構、人が待っていた。

帰りのバスで参加記をちょっとだけ書く。

Twitterで33000歩歩いたというスタッフの発言を見る。自分はその時点で31500歩程度だったので、もう1500歩歩いて勝つという謎の対抗心を燃やす。家まで帰る過程で普通に1500歩以上あった。

風呂を沸かし直して入る。温かいと寝不足と疲れで寝そうになるので、早めに出た。

年内で最も疲れた3日間だった。たぶん来年もやる。疲労が限界だったので、荷物の整理は翌日の自分に任せることにして寝た。