😄

コマンドで始めるAtCoder

2023/04/21に公開

はじめに

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