🌊

Go + VSCodeでAtCoder参加用の環境デフォルトセットを作成しました

2021/01/11に公開

概要

以前VSCode RemoteContainerでローカル環境を汚さずに、プロジェクトを開始できるデフォルトセットを作成しました。

https://zenn.dev/bun913/articles/f0a6c6177a4716

今回はAtCoderにGo言語で挑戦するに当たって便利なツールをインストールしたテンプレを作成しました。

https://github.com/bun913/atcoder_go

利用方法はReadmeに記載しているため、ご参照いただければと思います。

導入しているツール

  • atcoder-cli
  • online-judge-tools

を導入しています。

基本的な利用方法

長いコマンドについては、~/.bashrc にaliasを定義しています。

alias ojgo="oj t -c \"go run ./main.go\" -d test/"
alias addgo="cp /go/src/work/template.go ./main.go"

addgoは template.go を main.goという名前で現在のディレクトリにコピーします。

ojgo が作成したコードについてサンプル値でチェックするためのコマンドです。

# コンテストの全問題をダウンロード
acc new コンテストID(abc187とか)
# 解きたい問題のフォルダに移動
cd コンテストID/問題(aとかbとか)
# goのテンプレートファイルをコピー
addgo
# サンプル値でチェック
ojgo

以下のようにサンプル値でのチェックが走ります。

root@d7b7eaf33c21:/go/src/work/abc188/b# ojgo
[INFO] online-judge-tools 11.1.1 (+ online-judge-api-client 10.7.1)
[INFO] 3 cases found
[WARNING] GNU time is not available: time

[INFO] sample-1
[INFO] time: 0.474756 sec
[SUCCESS] AC

[INFO] sample-2
[INFO] time: 0.231904 sec
[SUCCESS] AC

[INFO] sample-3
[INFO] time: 0.225604 sec
[SUCCESS] AC

[INFO] slowest: 0.474756 sec  (for sample-1)
[SUCCESS] test success: 3 cases

提出する際は

acc s main.go
# Are you sure? Please type "abcb" 等と表示される場合は入力

を実行します。

なお、Docker環境でcliを動かしているため、コマンドラインからPCのブラウザを開くことができません。

以下のようにERRORが表示されていますが、その前にSUCCESSが表示されていれば提出に成功しているため、ブラウザで確認してください

[SUCCESS] result: https://atcoder.jp/contests/abc188/submissions/19361387
[ERROR] could not locate runnable browser

Discussion