aboutsummaryrefslogtreecommitdiff
path: root/works/life/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
commit3e79ef41cefec10e7f46b184907edffb13c2ecff (patch)
tree16dfa6114f19be5bbe29901b84536e3be9dc8670 /works/life/algorithm-contest-3/gen.bash
parentac32eebb6cad203e7a45834d3dc90b639e3d6ed3 (diff)
downloadcrupest-3e79ef41cefec10e7f46b184907edffb13c2ecff.tar.gz
crupest-3e79ef41cefec10e7f46b184907edffb13c2ecff.tar.bz2
crupest-3e79ef41cefec10e7f46b184907edffb13c2ecff.zip
import(life): Add algorithm contest 3.
Diffstat (limited to 'works/life/algorithm-contest-3/gen.bash')
-rwxr-xr-xworks/life/algorithm-contest-3/gen.bash31
1 files changed, 31 insertions, 0 deletions
diff --git a/works/life/algorithm-contest-3/gen.bash b/works/life/algorithm-contest-3/gen.bash
new file mode 100755
index 0000000..a93da88
--- /dev/null
+++ b/works/life/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