aboutsummaryrefslogtreecommitdiff
path: root/works/life/2020-algorithm-contest/gen.bash
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-12 21:01:59 +0800
committercrupest <crupest@outlook.com>2020-10-12 21:01:59 +0800
commitdfbc0ab51d29d2d175e03134229669f8fc91280b (patch)
tree5fe52b88399440e8021dcddb31db7f917b292d57 /works/life/2020-algorithm-contest/gen.bash
parentfba17db49e084305921de3a3de4d6177d519d377 (diff)
downloadcrupest-dfbc0ab51d29d2d175e03134229669f8fc91280b.tar.gz
crupest-dfbc0ab51d29d2d175e03134229669f8fc91280b.tar.bz2
crupest-dfbc0ab51d29d2d175e03134229669f8fc91280b.zip
import(life): Add 2020-algorithm-contest.
Diffstat (limited to 'works/life/2020-algorithm-contest/gen.bash')
-rw-r--r--works/life/2020-algorithm-contest/gen.bash31
1 files changed, 31 insertions, 0 deletions
diff --git a/works/life/2020-algorithm-contest/gen.bash b/works/life/2020-algorithm-contest/gen.bash
new file mode 100644
index 0000000..08a4897
--- /dev/null
+++ b/works/life/2020-algorithm-contest/gen.bash
@@ -0,0 +1,31 @@
+#!/bin/bash
+shopt -s nullglob
+
+if [ $# -ne 1 ]; then
+ echo "please input exact one argument, problem number"
+ exit 1
+fi
+
+problem_number=$1
+
+mkdir -p ./output/$problem_number
+
+cp ./test-data/$problem_number/*.in ./output/$problem_number/
+
+mkdir -p ./temp
+
+clang++ ./code/$problem_number.cpp -o ./temp/$problem_number -O2 -fsanitize=integer
+
+
+for generator in ./test-data/$problem_number/*.cpp; do
+test_data_number=`echo $generator | sed -r "s/.*([0-9]+)\.cpp/\1/"`
+
+clang++ $generator -o ./temp/$problem_number-$test_data_number-g -O2 -fsanitize=integer
+
+./temp/$problem_number-$test_data_number-g > ./output/$problem_number/$test_data_number.in
+done
+
+for test_data in ./output/$problem_number/*.in; do
+out_file=`echo $test_data | sed "s/\.in/.out/"`
+./temp/$problem_number < $test_data | tee > $out_file
+done