(競技プログラミング)複数の入力と出力をまとめて確認するバッチを作った


あいさつ

最近AtCoderで競技プログラミングに参加しています。
でえもん木村と申します。
私と同じ競技プログラミング初心者の役に立てばよいと思ったので公開します。

内容

競技プログラミングをする際、
複数の入力例を実行し、その結果を出力するバッチファイルを作成しました。

環境

Windows 10、コマンドプロンプト

ディレクトリ構成

CodeTest(作業ディレクトリ)
┣ Test.bat (実行ファイル)
┠ imp1 (入力ファイル)
┠ imp2
┠ imp3・・・・
┠ Q1.rb (プログラミング本体)
┠ Q1.rb
┠ Q3.rb・・・・
┠ Result.txt (結果ファイル:自動生成)

バッチファイル

test.bat
@echo off
REM 実行ファイル
set FileName=Q4.rb
REM 出力ファイル
set ResultFile=Result.txt
REM 繰り返し回数
set num=4
echo -----Start----- > %ResultFile%
for /l %%n in (1,1,%num%) do (
    echo -----imp%%n-------------- >> %ResultFile%
    REM 実行コマンド
    ruby %FileName% < imp%%n   >> %ResultFile%
)
type %ResultFile%

入力ファイル(例)

imp1
5
1 1 2 1 2

実行方法

コマンドプロンプト
C:\CodeTest>Test.bat
-----Start-----
-----imp1--------------
10
-----imp2--------------
20
-----imp3--------------
30
C:\CodeTest>

使い方

問題に応じてバッチファイルの「実行ファイル名」や「繰り返し回数」「実行コマンド」を編集すれば、C言語などでも使えます。

事前にこのようなバッチファイルを用意しておくことで問題に集中できるのでみなさんぜひ使ってみてください

ありがとうございました。