제출 #1221425

#제출 시각아이디문제언어결과실행 시간메모리
1221425thangdz2k7Vision Program (IOI19_vision)C++20
100 / 100
44 ms7360 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; int solve(int h, int w, int k){ // distance >= k vector <vector <int>> diaL(h + w - 1), diaR(h + w - 1); for (int i = 0; i < h; ++ i){ for (int j = 0; j < w; ++ j){ diaL[i + j].push_back(i * w + j); diaR[i + w - 1 - j].push_back(i * w + j); } } vector <int> ans, prefL, prefR; for (int i = k; i < h + w - 1; ++ i){ prefL.push_back(add_or(diaL[i - k])); prefR.push_back(add_or(diaR[i - k])); ans.push_back(add_and({add_or(prefL), add_or(diaL[i])})); ans.push_back(add_and({add_or(prefR), add_or(diaR[i])})); } return add_or(ans); } void construct_network(int h, int w, int k){ if (k == h + w - 2) solve(h, w, k); else add_xor({solve(h, w, k), solve(h, w, k + 1)}); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...