TopCoder SRM練習支援スクリプト AirSRM
https://github.com/kawakami-o3/AirSRM
TopCoder SRM(以下、SRM)での練習はほぼ日課と化していたのですが、10月頃からだったか、practice roomに入れないことが度々発生するようになりました。この問題は多くの方が経験されたようで、12月1日にはサーバのリプレースなどの対処がなされたようです(詳しくはforum参照)。以降一部の部屋には入れるようになりましたが、それでもまだアクセスできないところもあるようです。
SRMで練習する時は TopCoder Competition Arena にいくつかのプラグイン(FileEditやExampleBuilder)を使用していますが、主に使っている機能は以下のようになります。
ただ一点、面倒になってしまうのはやはりシステムテストです。ウェブにアクセスすることでパラメータを取得することは出来ますが、全てをテストするコードを書くのは大変手間がかかってしまいます。実のところ、このためだけに部屋に入っているといっても過言ではないかも知れません。
この問題を解決するべく組んだのが AirSRM です。
ただ、もともとシステムテストをしたかっただけで、他が結構お座なりで現在のところJavaしか対応していません(テンプレートを差し替えれば割と簡単に C# にも対応できるはず。。。いつか修正します)。
TopCoder SRM(以下、SRM)での練習はほぼ日課と化していたのですが、10月頃からだったか、practice roomに入れないことが度々発生するようになりました。この問題は多くの方が経験されたようで、12月1日にはサーバのリプレースなどの対処がなされたようです(詳しくはforum参照)。以降一部の部屋には入れるようになりましたが、それでもまだアクセスできないところもあるようです。
SRMで練習する時は TopCoder Competition Arena にいくつかのプラグイン(FileEditやExampleBuilder)を使用していますが、主に使っている機能は以下のようになります。
- 問題文の取得
- システムテスト
- 上位陣のコード取得
- 雛形コードの生成
ただ一点、面倒になってしまうのはやはりシステムテストです。ウェブにアクセスすることでパラメータを取得することは出来ますが、全てをテストするコードを書くのは大変手間がかかってしまいます。実のところ、このためだけに部屋に入っているといっても過言ではないかも知れません。
この問題を解決するべく組んだのが AirSRM です。
% ruby AirSRM.rb --srm=525 --div=2 --lv=1 --systemtestとコマンドを打つだけで 、SRM 525 Div 2 Easyのシステムテストコードを生成し、ローカルで擬似システムテストを行うことが出来るようになります。
ただ、もともとシステムテストをしたかっただけで、他が結構お座なりで現在のところJavaしか対応していません(テンプレートを差し替えれば割と簡単に C# にも対応できるはず。。。いつか修正します)。
コメント
コメントを投稿