online-judge-tools で AtCoder のテスト・提出を CLI から

最近 AtCoder を始めた私ですが「テストや提出のたびにキーボードから手を話さないといけないのが煩わしいな」と思っていました.

そこで CLI から提出・テストができるツールは無いものかと調べたら発見したのが online-judge-toolsです.(作者様に感謝!!)

というわけでタイトルです.

online-judge-tools の概要とその使い方

online-judge-tools とは AtCoder を始めとする online-judge(競技プログラミング) サービスで利用可能な便利ツールです.以下のような作業を CLI から実行可能です.

  • ログイン
  • テストケースのダウンロード
  • テストの実行
  • 提出

それぞれの使い方について AtCoder を例に説明します.
※ インストール方法については公式ページをご覧ください.

ログイン

oj login ${URL}

# AtCoder の場合
oj login https://atcoder.jp

実行後にログイン情報が聞かれるので入力してください.

テストケースのダウンロード

oj download ${URL}

# AtCoder の場合
oj download https://atcoder.jp/contests/abs/tasks/practice_1

実行するとカレントディレクトリに test ディレクトリが作成され,その中に問題に関する全てのテストケースが保存されます.

テストの実行

oj test -c ${COMMAND} ${TESTCASE}

# AtCoder (Python3) の場合
oj test -c python3 ./practice_1.py ./test/*

実行すると ./test ディレクトリ以下の全てのテストケースが実行されます.
※ テストケースは python3 practice_1.py の標準入力に入力されます.

テスト結果がコマンドラインに表示されます.

提出

oj submit ${URL} ${FILENAME} -l ${LANGUAGE}

# AtCoder (Pyrhon3) の場合
oj submit https://atcoder.jp/contests/abs/tasks/practice_1 ./practice_1.py -l python3

実行するとデフォルトの Web ブラウザで提出後の画面が開かれます.
※ ここも標準出力に出してくれたら嬉しいかも?

今日の日記

沈まぬ太陽」が観終わりました.

これは映画も小説も観てみたくなりますね.

今度は映画を観てみよう!