😄
コマンドで始めるAtCoder
はじめに
AtCoderをやる上でコマンドが使えると便利ですが、情報を取得するのに苦労したので備忘録程度にまとめます。今回は、AtCoder-CLIやonline-judge-toolsのコマンドを使い、提出、次の問題のディレクトリ作成までやっていきます!
GolangでAtCoderをやっていこうと思うので、拡張子は[.py]となっていますが、皆さんがAtCoderをやっていく言語に合わせて変えてください。(C++なら".cpp")
インストール
pip3
brew
インストールの確認
ログイン
AtCoder-CLIにログイン
acc login
ojにログイン
oj login https://atcoder.jp/
実行環境の作成
の前に...必要であればテンプレートフォルダの編集を行いましょう!
テンプレートフォルダの編集
毎回[ main.(拡張子) ]のファイルを作るのは面倒だと思います。そこで、テンプレートのフォルダにあらかじめファイルを追加することで、ファイルの作成だけでなく、宣言等が書き込まれたファイルを行うことができます。
以下、コマンドです。(コマンドとわかるように"
//テンプレートフォルダがある場所の確認
$ acc config-dir
//acc config-dirのコマンドで出力された場所に移動
//atcoder-cli-nodejsに移動するかと思います
$ cd (acc configureで出力されたPATH入力)
//使う言語の名前でフォルダ作成と移動(今回はgo)
$ mkdir atcoder_python && cd atcoder_python
//ディレクトリに移動していることを確認してファイルを作成
touch main.go template.json
template.jsonの編集
vi template.json
でtemplate.jsonを開き、以下のコードを自分の使用する言語に置き換えて貼り付けます。
{
"task":{
"program": ["main.py"],
"submit": "main.py"
}
}
mainの中身は自分の好きなように書いてください。
コンテストのフォルダ作成
acc new [コンテスト名]
コマンドoj d https://atcoder.jp/contests/abc257/tasks/[コンテストID]
でもできますが、私はacc new
を使用してフォルダを作成しています。
テスト
oj t -c "python main.py" -d ./tests/
ランダムテスト
oj g/i "[実行コマンド 実行ファイル]"
提出
oj s main.py
次の問題へ
提出が終わったらコンテストディレクトリ内で
acc add
と入力することで新しい問題のディレクトリを作成することができます(便利!)。
コマンド一覧
acc -h
おわりに
AtCoder-CLIのコマンドやonline-judge-toolsのコマンドを互いに使うので複雑ですが覚えると便利なので使えるようにしましょう。
間違っている点、コメント等あればお願いします!
Discussion