aboutsummaryrefslogtreecommitdiff
path: root/store/works/life/2020-algorithm-contest/gen.bash
diff options
context:
space:
mode:
Diffstat (limited to 'store/works/life/2020-algorithm-contest/gen.bash')
-rw-r--r--store/works/life/2020-algorithm-contest/gen.bash31
1 files changed, 31 insertions, 0 deletions
diff --git a/store/works/life/2020-algorithm-contest/gen.bash b/store/works/life/2020-algorithm-contest/gen.bash
new file mode 100644
index 0000000..08a4897
--- /dev/null
+++ b/store/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