TopCoderマラソンマッチ、AtCoderヒューリスティックコンテストのマルチスレッドテストスクリプトとか

ずっと継ぎ足し継ぎ足し使い続けているスクリプト

コンテスト毎にsetting.iniの
テストするソース名[source]
コンパイラのパスが通ってない場合に一時的に追加する[path]
テスター、ヴィジュアライザのコマンド[testercmd]
テストケースジェネレータのコマンド[gencmd]
などを設定する必要がある

コマンドは
コメントアウトしたものがいくつかいれてあるのでそれを使えばある程度対応できそう
[testercmd]
// AHC001, AHC009
// cmd < in > out
// vis in out

// AHC008
// tester cmd < in.txt > out.txt

最初とにかく一度実行してみたいときなどは
[errtag]をnoにしないと<cerr></cerr>で囲まれたエラーメッセージ以外握りつぶすようになっているので注意
mmsnippets.cppにpdebugとfdebugがあってpythonのprint関数の様に使える
fdebugはエラーメッセージを<cerrfile>で囲んで出力してe512test.pyがoutfileフォルダに出力する

maxスレッド数は
setteing.iniの[maxthread]よりもスクリプト実行時に-maxthread4で指定したものが優先される

marathon_contest_template

  • in 入力ファイル
  • out 出力ファイル
  • scores e512testの比較用スコアファイル
  • compile e512testでコンパイルした実行ファイル
  • javatester ***Vis.javaからtester.jarをコンパイルするためのスクリプト
  • mmsnippets.cpp 時間計測とかよく使うcppスニペット


e512test.py

マルチスレッドテストスクリプト

このフォルダに無いと動かない物

  • topcoder marathon match   tester.jar
  • atcoder heuristic contest   gen, vis, tester


setting.ini

  • e512test.pyの設定
  • テストするソールファイル名
  • 実行時に追加するパス
  • スコア比較大小の設定
  • スレッド数
  • コンパイルオプション
  • ビジュアライザオプション


in_files_rename.py

対象 ファイル名に数字が入っているテキストファイル

./in/input0001.txt -> ./in/1.txt


submitfiles_to_zipfile.py

topcoder提出zip作成スクリプト

submitfiles_to_zipfile.py ファイルパス(省略可)

コメント