LoginSignup
0
0

More than 3 years have passed since last update.

goで atcoder の入力例実行の手間を省くツールを作った

Last updated at Posted at 2019-06-06

このページについて

atcoderの入力例をすべて取得し、指定された実行スクリプトに標準出力として渡すツールについて紹介しています

repository

ex.) 実行例
実物は、okだったら緑、errorだったら赤でプリントされます

$ acc atcoder -u https://atcoder.jp/contests/abc119/tasks/abc119_b -c "go run ./main.go"
start atcoder test v0.0.0-5780f7c (built with go1.12.1)

Case [0] exp: 48000.0
    ok!
Case [1] exp: 138000000.0038
    ok!

背景

atcoder の入力例をいちいちfileにコピペして下記のようにコマンド叩いていましたが
さすがに面倒になってきたので作ってみました

$ cat file | go run main.go

内容

設計思想

  • サイトに迷惑をかけない
    • 最初の一回リクエストしたあとは、cacheを残してそこから取得するようにしました
    • $GOPATH/bin にdbが作られます

使い方

$ go get -u github.com/smith-30/acc

インストールしたらあとはatcoderの問題ページのurlと
テストケースを流したいスクリプトを渡すだけです

$ acc atcoder -u http://atcoder.jp/<problem path> -c "go run path/to/main.go"

ライブラリなど

  • cahceのdbはpudgeというkey-valueのもの使ってます
  • htmlのパースはgo-query
  • cli のテンプレートにはcobra使ってます

その他

いろんなテストケースと予想されている出力パターンがあると思いますが
全てに対応しているかはわかりません。うまく使えないとかあればissueお願いします
よかったら使ってみてください。僕も使いながら改良していきます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0