aboutsummaryrefslogtreecommitdiff
path: root/algorithm-contest-3/gen.bash
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-03-27 15:42:14 +0800
committercrupest <crupest@outlook.com>2021-03-27 15:42:14 +0800
commitfdfe966e8164acd49cb59bc9a1a888a79c6792bb (patch)
tree7c7b5e8072cbe9a292fbe6a30e5e5c3c6dd05fbd /algorithm-contest-3/gen.bash
parent7326072213d0d6f838977a19fc5b7ee50b094ba6 (diff)
downloadlife-fdfe966e8164acd49cb59bc9a1a888a79c6792bb.tar.gz
life-fdfe966e8164acd49cb59bc9a1a888a79c6792bb.tar.bz2
life-fdfe966e8164acd49cb59bc9a1a888a79c6792bb.zip
Add algorithm contest 3.
Diffstat (limited to 'algorithm-contest-3/gen.bash')
-rwxr-xr-xalgorithm-contest-3/gen.bash31
1 files changed, 31 insertions, 0 deletions
diff --git a/algorithm-contest-3/gen.bash b/algorithm-contest-3/gen.bash
new file mode 100755
index 0000000..a93da88
--- /dev/null
+++ b/algorithm-contest-3/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
+
+
+for generator in ./test-data/$problem_number/*.cpp; do
+test_data_number=`echo $generator | perl -pe "s|.*?([0-9]+)\.cpp|\1|"`
+
+clang++ $generator -o ./temp/$problem_number-$test_data_number-g -O2
+
+./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