BLOGサブスレッドの日常

2018.04.02

Google Code Jam 2018

tama

そういえば昨年は触れず終いだったのですが、春の恒例行事、
Google Code Jam が行われます。

昔ジャムの海におぼれていた tama がお送りしますどうぞよろしく。

Google Code Jam 2018 とは

こっち参照

Practice Session

当日まで忘れてたんで事前告知できなかったんですが、この週末、Practice Session が行われました。
練習ラウンドですね。

今年の Google Code Jam はサイトデザインが変わっただけでなく、採点システムも変更になっています。
従来は Small input のデータをダウンロードしてローカル(手元)でプログラムを実行、
出力された結果とソースコードをsubmitしていたのですが、
新システム(a new platform)ではinputデータのダウンロードはなくなり、
submitしたソースコードをサーバで実行して結果だけが応答されます。
ソースコードのsubmitも1回だけで、Small input に相当する Test set 1 と
Large input に相当する Test set 2 がどちらも同じソースコードで判定されます。
Test set 1 はすぐに(とは言え数秒かかるけれど)結果が出て、
Test set 2 はコンテスト終了まで結果がわからないのは従来と同じです。
問題によって
Test set がみっつあり、Test set 1 と Test set 2 はすぐに結果が出て、
Test set 3 がコンテスト終了まで結果がわからない場合もあります。
(従来も Small input がふたつのものあったよね、と思って見返してみたら
Bathroom Stalls って去年のQRと同じ問題なのか)

この新システムではサーバで処理が実行されるため、Interactive Problems と呼ばれる双方向通信型の問題も出題されることがあります。
(今回の Practice Session はこの interactive judge を試すために開かれたんじゃないかと思ってるw)
入力データとプログラムの出力に対する応答(interactive response)は同じストリームで届くので、
これをよく理解してコードを書かないといけません。
今回の Number Guessing
Sample interaction を読んで把握しておくとよいでしょう。
(去年までの過去問の Practice Mode のように Practice Session の採点システムは動かないのかな…)

Qualification Round

Qualification Round は次の週末、日本時間で 7日(土)8:00〜8日(日)11:00 まで開催されます。
エントリーはまだ間に合うので興味のある方はぜひ!

この記事を書いた人

tama