エントリー
スポーツプログラミングが好きな人は、TopCoderの競合をよく知っています。 その中で、おそらく最も人気のある形式は、シングルラウンドマッチ(SRM)です。 SRMのスキームは非常に具体的で、いくつかの点で独特です。 要するに、最初に、参加者は異なる難易度レベルの3つの問題を解決し、その後しばらくの間、相手からのミスを探して、追加のポイントを獲得します。
このような競争を整理するために、TopCoderはJavaアプレット(TopCoder Arena)を作成しました。 自分自身や他の人の生活を楽にするために、このまさにアリーナのプラグインを書いた職人もいました。 ただし、後者をインストールすると、多くの場合、初心者のSRMに問題が発生します。 この記事を書く動機になったのはこの問題でした。
どこから始めますか?
常に最初から、この場合はアリーナのインストールから開始する必要があります。 前述のように、アリーナはJavaアプレットです。 したがって、最初に必要なものは、Java Runtime Environment(JRE)+ Java Web Start(JWS)であり、これらは1つのパッケージで提供されます。
Javaインストール
ステップ1. Javaをダウンロードするには、 www.java.com / en / download / manual.jspにアクセスします 。 リストから目的のインストールファイルを選択します。
ステップ2. Javaをインストールします。 必要なコンポーネント、つまりJRE + JWSがコンピューターに自動的にインストールされます。
TopCoder Arenaをインストールする
ステップ3. www.topcoder.com/tcにアクセスします。
将来、同じサイトでイベントカレンダー(「イベントカレンダー」)を調べたり、評価を確認したり、フォーラムでのディスカッションに参加したりできるようになります。 今、アリーナが必要です。 左側のメニューで、[競争]-[アルゴリズム]-[シングルラウンドマッチ(SRM)]-[アリーナの起動]を選択すると、次のように表示されます。
注1.はい、JWSがインストールされていますが、実際にはインストールされていません。 個別のコンポーネントとしてインストールされるのではなく、Javaパッケージに他のものがすべて含まれているというだけです。
注2. Nicoletteユーザーは、「アリーナを起動」をクリックした後、赤いボタンのあるウィンドウが開かない場合があることに気付きました。 代わりに、「ContestAppletProd.jnlp」のダウンロードがすぐに開始されると彼女は言いました。 最後に、このステップの主な目標はこのファイルのダウンロードです。 その場合でも心配しないでください。
大きな赤いボタンをクリックすると、「ContestAppletProd.jnlp」ファイルをダウンロードするように求められます。 これは同じJavaアプレットです。 ダウンロードして実行すると、ようこそウィンドウが表示されます:
ここでは、新規ユーザーの場合は登録することをお勧めします。
おめでとうございます、アリーナが設定されました。 次のタスクは、Mojプラグインをインストールして構成することです。
Mojプラグインをインストールして構成する
ステップ4. Mojプラグインファイルをダウンロードします。 たとえば、TopCoderフォーラムで見つけることができます。
apps.topcoder.com/forums/;jsessionid=84612D3FBAD554FF37DD381DD857BC20?module=Thread&threadID=597911&start=0&mc=60
またはここから直接ダウンロードします。
github.com/downloads/lovrop/topcoder-moj/moj_4.16.zip
ダウンロードしたアーカイブを便利なフォルダーに解凍します。
Moj Connection
ステップ5.アリーナで、エディター設定ウィンドウを開きます(「オプション」-「エディター」):
その結果、次のウィンドウが表示されます。
ステップ6. [Common ClassPath]フィールドの横にある[参照]ボタンをクリックします。 表示されるウィンドウで、解凍されたプラグインのあるフォルダーに移動します。
3つの* .jarファイルを選択します。
- Codeprocessor.jar
- Fileedit.jar
- moj.jar
ステップ7.設定ウィンドウで、[追加]ボタンをクリックします。 開いたウィンドウに次の値を入力します。
- 名前:Codeprocessor2.0
- EntryPoint:codeprocessor.EntryPoint
- ClassPath:ただし、手順6では、指定された3つの* .jarファイルを選択します。
インストールされたプラグインに対応する新しい行が設定ウィンドウに表示されました。 それをデフォルトのプラグインにするには、対応するボックス「デフォルト」と「起動時」をチェックします。
Mojセットアップ
ステップ8.設定ウィンドウで、Codeprocessor2.0に対応する行を選択し、「構成」ボタンをクリックします。 表示されるウィンドウで、[追加]ボタンをクリックします。 その結果、「moj.moj」を入力する必要がある空の(白い)行が表示されます。 Editor EntryPointフィールドに、fileedit.EntryPointと入力します。
ステップ9 [Editor EntryPoint]フィールドの横にある[構成]をクリックします。 表示されるウィンドウの[問題の読み取り/書き込み先ディレクトリを入力してください]フィールドに、新しいタスクを開くときにコードテンプレートが表示されるフォルダーへのパスを入力します。
「コードテンプレート」タブでは、ソースコードファイルに登録されるコードテンプレートを入力することが提案されています。 例として、私は自分で提供することができます(コピーして貼り付ける場合-最初にC ++言語を選択することを忘れないでください): pastebin.com/kwt4Whp3
ステップ10. 「保存」をクリックします。
[コードプロセッサ設定]ウィンドウで、[確認]ボタンをクリックします。 すべてが正常に接続され、正しく接続された場合、すべてのコンポーネントが見つかったことを示すメッセージが表示されます。
「保存」を再度クリックすると、途中で次の警告が表示されます。
これでセットアップは完了です。
プラグインチェック
Mojの法的能力をテストするには、アリーナ内の練習室(「練習室」)を選択します。
ルームインターフェイスの[問題の選択]フィールドで、3つのタスクのいずれかを選択します。 ところで、そこにはタスクが評価されるポイントの数がすぐに表示されます。
タスクを開くと、次のウィンドウが表示されます。
ここで条件を読み取り、アクティビティログをチェックして、Mojが機能したことを確認できます。 忠実度(およびトレーニング)のために、コードを開いてソリューションを作成します。 ちなみに、TopCoderの機能の1つは、プログラム全体ではなく、クラスのみを作成する必要があることです。 データは引数としてクラスメソッドに提供され、結果はメソッドの値を通じて返されます。 Moj-クラスの外にあるすべてを(テンプレートによって)追加します。 これにより、プログラムを実行するときに、Mojによってソースファイルに直接自動的に登録された条件のテストでコードをチェックできます。
クラスの準備ができたら、[保存]、[コンパイル]、[テスト](オプション)、および[送信]をクリックします。 これにより、通常、コードの記述が完了し、決定が受信されたと見なされます(ただし、必ずしも正しいとは限りません-システムテスト中に、競争の終わりに正確性がチェックされます)。
おわりに
TopCoderの競合は、ACM標準を含む他の競合と大きく異なります。 ここで言及されていなかったすべての機能を研究するには、かなりの時間がかかります。 しかし、主なことは開始することであり、経験は時間とともに来るでしょう。