0.0
No commit activity in last 3 years
No release in over 3 years
By using this plugin, You can create atcoder-contest templates.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.11
~> 10.0
>= 0

Runtime

 Project Readme

AtcoderGreedy

楽にatcoderを使いたい. Atcoderで行われるコンテストにおいて, 自動でテンプレートやインプットを生成するGemです. 何かありましたらtwitter: @brook_bachまでお願いします.

実装した機能

  • コンテストフォルダ, 問題ファイルの生成
  • サンプルインプット、アウトプットを用いたテストファイルの生成, テスト実行
  • ユーザーテンプレート機能
  • 提出機能
  • ruby, c/c++ に対応

Installation

$ gem install atcoder_greedy

初期設定

configコマンドを使用してデフォルト言語の設定をしてください。

$ atcoder_greedy config
Choose default language from: ["rb", "cpp", "c"]
Input languages: cpp
Update Your default language to [cpp].
$ 

Usage

Createコマンド

コンテスト用のフォルダ, ファイルを作成します.

$ atcoder_greedy create CONTEST_URL OPTION

作成時に使用できるオプション

option name ARGUMENT alias detail
--no-templates --nt テンプレートファイルを生成しません.
--no-input --ni 入力ファイルを生成しません.
--select-problem PROBLEM_NAMES -p 指定した問題のみ生成します. 複数の問題を指定する場合は'A B' のように''で囲ってください.
--select-directory DIR_PATH -d 指定したディレクトリに生成します.
--select-language LANGUAGE -l 指定した言語でテンプレートを生成します.
--select-template TEMP_NAME -t 指定したテンプレートで生成します.

testコマンド

テストを実行します. 入力ファイルが生成されている必要があります.

$ cd CONTESTNAME
$ atcoder_greedy test PROBLEM_FILE_NAME

templateコマンド

テンプレートの設定を行います. テンプレートは複数保存でき, 言語毎に一つデフォルトテンプレートを設定することができます. デフォルトに設定されたテンプレートは, createコマンドで作成するときに使用されます.

$ atcoder_greedy template OPTION

使用できるオプション

option name alias detail
--add FILE_PATH -a FILE_PATHで指定されたファイルをテンプレートに追加します.
--list -l テンプレート一覧を表示します.
--set-default FILE_NAME -s FILE_NAMEで指定されたテンプレートをその言語のデフォルトに設定します.
--delete FILE_NAME -d FILE_NAMEで指定されたテンプレートを削除します.

submitコマンド

問題の提出を行います. コンテストディレクトリ内で実行してください.提出が成功した場合, 結果画面をブラウザで開きます.

$ atcoder_greedy submit [SUBMIT_FILE]

使用例

例1

ARC014の場合

$ atcoder_greedy create http://arc014.contest.atcoder.jp

とすると、以下のようなファイルが生成される。

.
├── .contest_info.yml
├── A.rb
├── B.rb
├── C.rb
├── D.rb
├── input_A.txt
├── input_B.txt
├── input_C.txt
└── input_D.txt

各問題について,X.rbに自分の解答を記述すれば良い。 input_X.txtにはX.rbのサンプルインプット,アウトプットが記載されている.

A問題についてテストを実行するには、

$ atcoder_greedy test A.rb

とすると、以下のようにテスト結果が表示される。

Running a test for problem A.rb...
-------------------- Compile Done --------------------
-------------------- Testcase #0 -------------------- FAILED! Time: 0.00727s
Your Output:
5
Correct Answer:
1

-------------------- Testcase #1 -------------------- PASSED! Time: 0.04882s

-------------------- Testcase #2 -------------------- FAILED! Time: 0.00614s
Your Output:
3
Correct Answer:
1

Test done.

A問題を提出したい場合は,

$ atcoder_greedy submit A.rb
Submit [A.rb] ... Done!

例2

ARC015にて, カレントディレクトリにA問題のインプットファイルのみ生成したい場合

 $ atcoder_greedy create http://arc015.contest.atcoder.jp --nt -p A -d ./

TODO,実装したい機能

  • 言語対応の拡大
  • gemのテスト作成

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/atcoder_greedy. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.