はじめに
問題のsampleの入力をコピーして
IDEに貼り付けてテストして
テストが終わったら自分のプログラムをコピーして
AtCoderに提出って面倒だし, 時間がかかりますよね.
ここではこれらを自動化してくれるツールの導入方法及び, 使い方を説明します.
ツールの導入
導入するツールは下記の2個です
atcoder-cliはsampleのテストをダウンロード及び, プログラムの提出を行ってくれるツールで,
online-judge-tools は atcoder-cliでダウンロードしたsampleをテストしてくれるツールです
####導入方法
下記のコマンドを実行するだけでツールの導入ができます
$ npm install -g atcoder-cli
$ pip3 install online-judge-tools
npm が使えない人は下記のサイトを参考にして導入してください
Node.js / npm をインストール (Mac環境)
使い方
####使うための準備
$ acc login //AtCoderにログイン
? username: hogehoge // AtCoderのID
? password: [hidden] // AtCoderのパスワード
OK
//これをやっておくと, 問題のダウンロードを全てしてくれる
$ acc config default-task-choice all
$ oj login https://atcoder.jp/
問題のダウンロードの設定をします
ここではC++の設定を行います
適当なエディタで下記のファイルを開いてください.
/Users/(PC名)/Library/Preferences/atcoder-cli-nodejs/cpp/template.json
cpp ディレクトリ や templete.jsonファイルはないと思うので作成してください.
開いたら下記のものをコピーしてください.
{
"task":{
"program": ["main.cpp"],
"submit": "main.cpp",
"testdir": "test"
}
}
次に下記のファイルを作成し開いてください
/Users/(PC名)/Library/Preferences/atcoder-cli-nodejs/cpp/main.cpp
問題のテンプレようのファイルです
私の場合下記のようなファイルを作成しています
#include<bits/stdc++.h>
using namespace std;
int main() {
int N, ans=0;
cin >> N;
cout << ans << endl;
}
設定の適用
$ acc config default-template cpp //cppに設定
####使い方
問題のダウンロード
$ acc new (コンテストID) //問題のダウンロード ex) acc new abc159
すると下記のような海藻でファイルができているはずです
abc159
|--a
| |--test
| | |--sample-1.in
| | |--sample-1.out
| | |--sample-2.in
| | |--sample-2.out
|--b
:
:
|--f
|--contest.acc.json
テストは作業ディレクトリ まで行き下記のコマンドでテストを行うことができます
oj t は a.outを読み込みサンプルのテストを行ってくれます
$ cd abc159/a
$ g++ main.cpp && oj t //テスト
提出は下記のコマンドでできます
acc s
今回の場合 ABCのA問題なので
Are you sure? Please type "abca"
聞かれます
abca って打ってください
##まとめ
acc new abc159 //テストのダウンロード
g++ main.cpp && oj t // テストの実行
acc s //提出
##エラー (2020/5/2追記)
ある日, 突然"acc s"を用いて提出しようとしたら
下記のようなエラーが発生しました
[x] load cookie from: /Users/naokiosako/Library/Application Support/online-judge-tools/cookie.jar
[x] GET: https://atcoder.jp/contests/abc164/tasks/abc164_c
[x] 200 OK
[ERROR] 'value'
これは online-judge-toolsのエラーみたいなので
online-judge-tools再インストールしましょう!
pip3 uninstall online-judge-tools
pip3 install online-judge-tools
参考文献
atcoder初心者こそ環境構築しよう!(atcoder-cli,online-judge-toolsのインストール、使い方)