AtCoder Heuristic Contest 001でテストを並列実行するために使ったプログラムたち

AtCoder Heuristic Contest 001に参戦するとき,手元環境にテストケースを用意し,ひたすらテストを回した人も多いかと思います.
このページは,私が手元環境でテストを並列実行するために使ったプログラム群のメモです.

得点計算器(C++で実装)

得点計算器(ビジュアライザ)はAtCoder公式から配布されていたのですが,何故か得点計算器をC++で自作しました.
このプログラムのコマンドライン引数で入力データが記載されたファイルを指定し,標準入力から入力データに対応する(プログラムの)出力データを流し込むと,得点が標準出力へ出力されます.
ただし,不正な出力であるとわかったときは得点が-1点になります.

ソースコードは次の通りです.ループ内で配列を確保しているせいか,実行時間が長かったです.反省

テストの一括実行&並列化(Pythonで実装)

大量のテストケースでテストを回すとなると,各テストケースについて手動でテストを実行するのはあまりにも面倒です.
また,せっかくCPUに複数のコアがあるのですから,全部のコアを有効活用したいです.
そこで,ボタン一つ(もしくはコマンド一発)で全テストケースについてテストを一括実行するプログラムを用意しました.ついでに並列化もしました.

ソースコードは次の通りです.Pythonのmultiprocessingは偉大ですね.