1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

競技プログラミング用の自動実行環境つくった

Posted at

はじめに

競技プログラミングを、データ構造とアルゴリズムの勉強のためにやろうと思っていて、最近は開発ツールの開発に精神を持っていかれてしまいました。まあまあ使いやすいものになったので、よかったら使ってみてください(改善点等あれば是非教えてください!)。こちらに掲載したテストスクリプトと組み合わせることで、自動テストスクリプトとなります。その内1つのページにまとめるかもしれません。

環境構築

ファイル更新検知のためにfswatchというコマンドを用いる。

environment
# Mac
  $ brew install fswatch
# Ubuntu
  $ sudo apt install fswatch

組み合わせたもの

スクリプト実行ディレクトリにtest.shを配置することで、ファイル更新時に自動で入力をテストしてくれる。また、正解データと出力を上下に並べて表示するため、簡単に正解かどうか確認することができる。

autoreloader.sh
# !/bin/bash
while :;
do
	./test.sh
	res=$(fswatch -1 . >/dev/null)
done

自動コンパイル実行だけを使用したい方向け

test.shに関係なく自動更新する場合は、以下のようにコンパイルコマンドと実行コマンドを記述することで自動実行できる。

autoreloader.sh
# !/bin/bash
while :;
do
  g++ -o main.out main.cpp
  ./main.out
  res=$(fswatch -1 . >/dev/null)
done
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?