Submission #592623

#TimeUsernameProblemLanguageResultExecution timeMemory
592623lcjVision Program (IOI19_vision)C++17
44 / 100
16 ms2892 KiB
#include <bits/stdc++.h> #include "vision.h" #define loc(i, j) i*W+j using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef pair<int, int> pii; void construct_network(int H, int W, int K) { int cnt = 0; int base = H*W-1; vector<int> indires; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { vector<int> Ns; for (int s = -K; s <= K; s++) { int ni = i+s; int nj = j + K-abs(s); if (ni >= 0 && ni < H && nj >= 0 && nj < W) { Ns.push_back(ni*W+nj); } if (abs(s) == K) continue; nj = j - (K-abs(s)); if (ni >= 0 && ni < H && nj >= 0 && nj < W) { Ns.push_back(ni*W+nj); } } if (Ns.empty()) { add_and({0, 1, 2}); } else { add_or(Ns); } cnt++; add_and({base + cnt, i*W+j}); cnt++; indires.push_back(base + cnt); } } add_or(indires); cnt++; }
#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...