Skip to content

aromarious/atcoder-cli-settings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

atcoder-cli の設定例

このリポジトリの目的

atcoder-cli のインストール、初回作業、設定例を示す。

atcoder-cliとは

AtCoderのコードをローカルのVSCodeで書き、デバッグし、提出するまでの流れを補助してくれるコマンドラインツール。 この記事が参考になる。

atcoder初心者こそ環境構築しよう!(atcoder-cli,online-judge-toolsのインストール、使い方) - Qiita

前提条件

  • MacOS これを書いている今は Monterey を使用中
  • VSCode インストール済み、Python関連設定済み
  • homebrewインストール済み
  • Python インストール済み
  • Node.js インストール済み

インストール

atcoder-cliを使う場合、online-judge-toolsも一緒にインストールするとよい。

  • online-judge-toolsのインストールと確認 ojonline-judge-toolsのコマンド名。
$ pip3 install online-judge-tools 
$ oj -h
  • atcoder-cliのインストールと確認 accatcoder-cliのコマンド名。
$ npm -g install atcoder-cli
$ acc -h

初回作業

コマンドから出力されるメッセージは省略。

accojの連携確認

  • accatcoder-cliコマンド名
  • ojonline-judge-toolsコマンド名
$ acc check-oj
online-judge-tools is available. found at:
/Users/username/.pyenv/shims/oj

accAtCoderにログイン

$ acc login
? username: aromarious
? password: [hidden]
OK
$

ojAtCoderにログイン

$ oj login https://atcoder.jp/
Username: aromarious
Password: 
$

atcoder-cliを設定しておく

まず現在の設定を見ておく。

$ acc config
oj-path: /Users/username/.pyenv/shims/oj
default-contest-dirname-format: {ContestID}
default-task-dirname-format: {tasklabel}
default-test-dirname-format: tests
default-task-choice: inquire
default-template:
  • oj-path
    ここの設定はacc check-oj コマンドを発行すると設定される。(それぞれの環境によって違う)
  • default-ナンチャラ-dirname-format
    問題取得時の各ディレクトリの名前の設定。コンテスト、問題、テストデータのディレクトリを作る時にどんな名前で作るかを設定。デフォルトで構わない。
  • default-task-choice
    コンテストを取得する時に、その中に問題(タスク)が複数ある。どれを取ってくるか設定する。
    • inquire…メニュー形式で問い合わせてくる(このオプションのみ対話形式)
    • all…全タスクを取得する
    • none…タスクは取ってこない(コンテスト情報を取得し、コンテスト用ディレクトリを作成するだけ)
    • rest…未取得のタスクを全部とってくる
    • next…未取得のタスクのうち、一番若い番号のものをとってくる。
$ acc config-dir
/Users/username/Library/Preferences/atcoder-cli-nodejs
$ cd $(acc config-dir)
$ pwd
/Users/username/Library/Preferences/atcoder-cli-nodejs

↑ここのディレクトリをこのリポジトリに置いた。

/Users/username/Library/Preferences/atcoder-cli-nodejs
├── config.json … acc config で確認・設定できる
├── python3/ …テンプレート名でディレクトリを作る。
│   ├── template.json …解答コード用のファイルはこれ、提出用のファイルはこれ、という設定をする
│   └── solve.py …解答コード用のファイルを作るときの原本
└── session.json …ログイン情報が入っているのでいじらない

oj test で取得したテストケースを実行するが、その時にスクリプトファイルを直接実行してもらうために

  • she bang (1行目に#!/usr/bin/env python)を書く
  • ファイルに実行フラグを立てる(chmod +xしておく) ということをしている。

ojのコマンドラインオプションで-c "python solve_ナンチャラ.py と明示指定する場合はこの小細工は必要ない。 2022-08-13: ↑現在はこちらの設定を採用し、she bang と実行フラグは削除して運用している

コンテストごとにやる作業

コンテスト用のディレクトリを作成

$ acc new abc081

これを実行すると、次のディレクトリやファイルができる。

abc081/ …コンテスト用ディレクトリ
├── a/ …タスク用ディレクトリ
│   ├── solve_abc081_a.py …解答用ファイル
│   └── tests/ …テストデータ用ディレクトリ
│       ├── sample-1.in
│       ├── sample-1.out
│       ├── sample-2.in
│       └── sample-2.out
└── contest.acc.json …このコンテストの取得状況等

解答用ファイルにコードを書く

VSCodeなどで好きに書く。

テストデータを流す

$ cd タスク用ディレクトリ
$ oj test -c 解答用ファイル名 -d tests

提出する

$ cd タスク用ディレクトリ
$ acc submit 解答用ファイル

次のタスクをとってくる

$ cd コンテスト用ディレクトリ ←タスク用ディレクトリでも構わない
$ acc add

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors