diff options
author | crupest <crupest@outlook.com> | 2020-10-25 17:16:31 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-10-25 17:17:13 +0800 |
commit | 58e4c77b1d5f8241af91c55e1a8efaba3115dc6b (patch) | |
tree | 9c71476d95bfb6bc128bc02a1547ddafdd171bde /works/life/algorithm-contest-2/gen.ps1 | |
parent | 277d60c91ced882e445c05a37be13e4af9f5d692 (diff) | |
download | crupest-58e4c77b1d5f8241af91c55e1a8efaba3115dc6b.tar.gz crupest-58e4c77b1d5f8241af91c55e1a8efaba3115dc6b.tar.bz2 crupest-58e4c77b1d5f8241af91c55e1a8efaba3115dc6b.zip |
import(life): Add algorithm contest 2.
Diffstat (limited to 'works/life/algorithm-contest-2/gen.ps1')
-rw-r--r-- | works/life/algorithm-contest-2/gen.ps1 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/works/life/algorithm-contest-2/gen.ps1 b/works/life/algorithm-contest-2/gen.ps1 new file mode 100644 index 0000000..60b88b2 --- /dev/null +++ b/works/life/algorithm-contest-2/gen.ps1 @@ -0,0 +1,39 @@ +Push-Location solution
+
+foreach ($problem in 1..5) {
+ clang-cl "$problem.cpp" /O2 "-fsanitize=address,undefined"
+}
+
+Pop-Location
+
+Remove-Item -Recurse output
+
+mkdir .\output
+
+$time_output = @()
+
+foreach ($problem in 1..5) {
+ mkdir output/$problem
+ foreach ($genfile in Get-ChildItem "generator/$problem") {
+ if ($genfile.Name -match "(.+)\.in") {
+ $genfile_id = $Matches[1]
+ Copy-Item $genfile output/$problem
+ }
+ elseif ($genfile.Name -match "(.+)\.cpp") {
+ $genfile_id = $Matches[1]
+ Push-Location "generator/$problem"
+ clang-cl $genfile.Name /O2 "-fsanitize=address,undefined"
+ Pop-Location
+ & "./generator/$problem/$genfile_id.exe" > "./output/$problem/$genfile_id.in"
+ }
+ $time = (Measure-Command {
+ Get-Content "./output/$problem/$genfile_id.in" | & "./solution/$problem.exe" > "./output/$problem/$genfile_id.out"
+ }).TotalSeconds
+
+ $time_output += "Problem $problem test point $genfile_id time: $time s."
+ }
+}
+
+foreach ($line in $time_output) {
+ Write-Output $line
+}
|