ホームに戻る
 AirSRM 導入の覚え書き

0、はじめに

AirSRM は kawakami-o3 さんが作りました。

AirSRM を使うと TopCoder の問題をダウンロードし、
オフラインでシステムテストを行うことができます。
java と C++ と C# に対応。

利点:
ホームページからの文字解析を利用する。
よって、TopCoderのアリーナを起動する必要が無い。
いちどダウンロードすればオフラインでテストできる。
サンプルテストだけでなくシステムテストができる。

欠点:
実行時間、メモリの使用量の確認ができない。
返り値が double である場合に使用できない。
もちろん本番のSRMでは使用できない。

1、導入方法

AirSRM は ruby で書かれている。
実行には以下が必要である。
()内のバージョンでインストールするのが確実。

Ruby (1.9.3-head)
mechanize (2.0.1)
hpricot (0.8.5)

手順:
AirSRM のサイトへ移動
https://github.com/kawakami-o3/AirSRM
画面右の「Download ZIP」よりダウンロードし解凍
AirSRM.config を開き「username」 「password」を書く
「language」は java,cpp,cs のいずれかを書く
http://rubyinstaller.org/downloads/
RubyInstaller for Windows(Ruby 1.9.3-p448)をインストール
Ruby コマンドプロンプトを開く
AirSRM のディレクトリに移動する
gem install mechanize -v 2.0.1 --platform x86-mingw32
gem install hpricot -v 0.8.5 --platform mswin32
ruby AirSRM.rb --srm=525 --division=2 --level=1
※ AirSRM.rb の52行目でエラーが出る場合はこの行を削除
52行目:@agent.agent.http.ssl_version = :SSLv3
問題とサンプルテストのダウンロード
ruby AirSRM.rb --srm=525 --division=2 --level=1
問題とシステムテストのダウンロード
ruby AirSRM.rb --srm=525 --division=2 --level=1 --systemtest

現在のディレクトリにファイルがダウンロードされる。

2、使い方

java の場合

javac TestRainyRoad.java
java TestRainyRoad

C++ の場合

g++ TestRainyRoad.cpp
a

C++ の場合、問題メソッドの string が String になることがある。
他にもバグがありそうなのでそのつど対応が必要であろう。

inserted by FC2 system