はじめてのとっぷこーだー(TopCoder SRM 752参戦記)

2019/03/06 21:00(JST)から行われたTopCoder SRM 752に参加しました。準備からコンテスト終了までの大まかな流れや感想などを書いていきます。

準備

アカウントの作成

これは前もってやっていたのでよく覚えていないのですが、何かと分かりにくかった記憶があります。 画面の指示通りに進めばとりあえずアカウントは作成できると思います。

アプレットの準備

コンテストはWeb ArenaかJAVAアプレットから参加します。Web Arenaはβ版らしいので、アプレットを使うことにしました。 このPDFに諸々書いてあります。

Ubuntuの場合、

$ sudo apt install icedtea-netx

javawsを使えるようにしたら、http://topcodr.co/javaarenaからContestAppletProd.jnlpをダウンロードして

$ javaws [アプレットへのパス]/ContestAppletProd.jnlp

で起動できます。通信するので色々警告が出ますが、適切なボタンを押して先に進むとログイン画面が出ます。 ログインに成功したら準備はほぼ終了です。

コンテストの流れ

大体次のような感じでした。

  1. 上の「Active Contests」から参加するコンテストを選び、「Register」。参加登録は開始5分前に一旦締め切られるようです。
  2. 5分前になったら「Enter」が選べるようになるので選択してルームへ。
  3. 開始まで待機。
  4. Codingの時間。プルダウンから得点を選ぶとそれに対応する問題が別窓で出てくる。複数の問題を同時に見ることはできない。 また、最初に開いてからの時間で得点が計算されるらしい?
  5. Codingが終わったら5分間の休憩。
  6. Challenge。同じルームにいる人の解答が見られるようになるので、不正確なものを見つけて撃墜する。撃墜に成功すると得点が入るっぽい。
  7. System Test。採点が行われて結果がわかる。

コンテストの感想など

Coding Phase

問題の解答は標準入出力ではなく、指定されたクラスに問題を解く関数を書くという形式のようです。 何も設定しないとJavaの問題文が表示されるので、別の言語を使う場合は右上のラジオボタンで変更します。型の指示などがそれに応じて変わります。 過去問をやることでこのあたりは把握できていたので良かったです。

Batch Testを選ぶと一括でテストケースのチェックをしてくれるのは便利ですね(表示される結果を理解するのに少し時間がかかった)。

Submitを選ぶと確認のダイアログが出ますが、フォントの関係かボタンの文字が死んでいます。 しかし、「□□(Y)」と「□□□(N)」なので「はい」と「いいえ」であることは容易に推測できます。 競プロに必要とされるエスパー力の訓練ですね。

結構時間を余らせて3問提出できたので余った時間は見直しをしていました。システス形式は精神衛生上よろしくない。

問題は下のような方針で解きました。

Intermission

呼吸を整える時間。もしかしてここで撃墜補助ツール的なものを準備すると良いのでしょうか。

Challenge Phase

やることはコドフォのHackと同じという理解をしています。

System Testing Phase

通ってくれ。通った。

結果

3完1366.85点でDiv. 2で9位(Room内2位)でした。Coding終了時はRoom内1位だったのにChallengeの得点で抜かされました。ざんねん。

レートは1505(Yellow)になりました。初めての暖色です。わーい。

その他

  • Arenaで確認できるCoder Infoのうち、Coder typeの項目がProfressionalになってしまっている。 アカウント作成時にそんな選択した記憶ないし、私はStudentなんですが... 調べても変更する方法がわからなくて困っています。わかる方がいたら助けてください
  • 間違って触ってしまったせい?でプロフィールに生えた「Data Scientist」が消せない←[追記]コンテストに参加していてもなるらしいです。また、Skillsの欄も勝手に増えたのが確認できました
  • プロフィールの名前の色はSRMでの色とは別物なのでしょうか?(執筆時点で薄い灰色)←[追記]反映までに時間がかかるそうです
  • プロフィール設定、わかりにくくないですか
  • 親切な有識者の方がいらっしゃいましたら@wisteria0410ssに教えてくださると幸いです

  • 感想メインの参戦記と準備についての部分で記事を分けたほうが良かったかも

  • @IKyoproさん、情報提供ありがとうございます