Web 上で開催されるプログラミングコンテスト “TopCoder” のはじめ方を教わったのでメモしておく。
登録
まずトップページの「REGISTER」からユーザ登録を行なう。大学名などは架空のものを選択しても良いらしい。
ログイン
ログインするまでの手順を述べる。
まずトップページ右上の「Develop」をクリックする。続いてページ左のメニューから「Competitions」-「Algorithm」-「Single Round Matches (SRM)」-「Launch Arena」の順にクリックする。
ログイン画面が表示されるので,先ほど登録した ID とパスワードを入力して [GO] を押す。
すると Arena が起動する。
練習モード
Practice モードの使い方をひと通り述べる。このモードでは,過去問で練習することができる。
まず,メニューの「Practice Rooms」-「SRMs」から過去問を選択する。問題は古い順になっていて,DIV 1 より DIV 2 の方が簡単らしい。初めての場合は DIV 2 を選べば良いだろう。
次に「Select one」から問題を選択する。数値が高いほど難易度も高い。
すると,やっとこさ問題画面が表示される。
答案作成
いよいよ問題を解いていく。
まず,問題画面右上の「Choose your langu…」から言語を選ぶ。選択肢としては Java,C++,C#,VB,Python があるが,問題によっては選択できない言語もあるようだ。
そして「Problem Statement」に書かれた問題文を読んでいく。項目は以下のとおり。
- Problem Statement … 問題文
- Definition … クラス名,メソッド名や型の定義
- Constraints … 入力値の範囲 (この範囲外の入力は考慮しなくて良い)
- Example … 入力値とその値に対する出力結果の例
答案コードは画面下部の「Coding Area」に入力していく。
ある程度動きそうなコードができたら,画面右下の「COMPILE」をクリックしてコンパイルを実行する。特にエラーがなければ「Your code compiled successfully, with no warnings」となる。エラーがあった場合,その内容や行番号が表示されるので,コードを修正する。
コンパイルが通ったら,画面右下の「TEST」をクリックする。すると,メソッドの引数に渡す値の入力欄が表示される。適当な値を入力するか,「Select Example…」から値を選択して [ OK ] をクリックすると,テスト結果が表示される。Example から選択した場合は,実行結果が正しいかどうか (Correct Return Value) も表示される。
テストを行なった結果,コードに問題が無さそうであれば,画面右下の「SUBMIT」をクリックしてコードを提出する。
コードを提出できたら,前の画面に戻り,メニューの「Practice Options」から「Run System Test」を選択する。
すると,出題者側が用意した様々な値でテストが実行され,結果が表示される。すべての値で問題が起きなければ「Status」の値が緑色で表示される。
なお,画面中央部の「SUMMARY」をクリックすると,他の参加者の答案コードを見ることができる。このときバグを発見した場合は,「Challenge」をクリックしてバグが発生する入力値を入力してみる。その値で本当にバグが発生すれば,得点がもらえる。逆にバグが起きなければ減点される。
以上,練習モードの流れを一通り述べた。ある程度慣れたら,次は Competition に挑戦してみたい。
コメント
既にご存知だと思いますが Arena の Coding Area でコーディングする人はいません。プラグインを入れて、ローカルのファイルを好きなエディタで編集してから提出するのが普通です。