Code Jam to I/O for Woman 2020 に参加したときのメモ

Code Jam to I/O for Woman 2020に初めて参加した。初めての参加で所々戸惑った点があったのでメモしておく。 codingcompetitions.withgoogle.com

準備

過去のコンテストのArchiveが公開されているので本番前に練習でSubmitしておいたほうがよい。 自分はJavaで出たが、クラス名の指定などがあったりエラーメッセージも特殊なものがあるので一度コードはSubmitしておいた方が良さそう。 2018年から採点の形式?が変わったそうなので、自分は2018と2019のいくつかの問題を解いて練習していた。 FAQ のページにかなり詳しくルールやシステムについて書かれているので目は通したほうがよいと思う。

Sample Failed

コード提出後のステータスにおいてWA(Wrong Answer)の中でもSample Failedというステータスがあるのに最初戸惑った。 問題文に掲載されているSampleがそもそもPassしていないと後続のテストがそもそもされないので、まず手元でSampleのテストケースがPASSするかどうかは必ず確認したほうがよい。特に最初はOutputの形式が間違っていたり等のケアレスミスがあった…。(Outputの形はCase #1 : xxx という形が多いが、ここの数字は1始まりでないといけない。0始まりでoutputしていたことに途中まで気づけずハマった。)

Visible Verdict Test と Hidden Verdict Test

2018からVisible VerdictとHidden Verdictという2つの種類のテストケースで採点されるようになった模様。 Visible Verdictは比較的小さい数字のテストケースでHidden Verdictは大きい数字のテストケース。 VisibleとHiddenでポイントが別れているので、計算量の問題で解決できそうにないときはVisible Verdictの点数だけ狙いに行くという作戦もできる。 ちなみに何がVisible/Hiddenなのかというとコンテスト中に結果が見えるかどうかであった。Hidden Verdictの結果はコンテストの終了後に公開されるのでコンテスト中は実際の点数はわからない。 どちらのケースもテストケースは公開されないので自分でエッジケースを見つけるなどしてWAへは対応しないといけない。

まとめ

普段はAtCoderのABCくらいしか競プロは参加したことがないが、ABCと比較するとCode Jam to I/O for Womanの難易度は高いと思う。全部完答しなくてもGoogl I/Oのチケットが景品で貰える150位には食い込む。逆に自分のレベルだとエッジケースが見つけられずにWAから抜けられなくて0完の可能性も十分にありえると思った。今回は全然ダメだったのでまた来年参加しよう…