Submission #424708

#TimeUsernameProblemLanguageResultExecution timeMemory
424708madlogicVision Program (IOI19_vision)C++17
33 / 100
10 ms2372 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { int cur = (H - 1) * W + W - 1; vector<int> v; map<int, bool> vis; map<pair<int, int>, bool> dp; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { for (int x = 0; x <= K; x++) { int y = K - x; for (int ys : {-y, y}) { int dx = i + x; int dy = j + ys; if (dx >= 0 && dx < H && dy >= 0 && dy < W) { int xx = i * W + j; int yy = dx * W + dy; if (vis.count(yy) || dp.count({xx, yy})) { continue; } dp[{xx, yy}] = dp[{yy, xx}] = true; add_and({xx, yy}); ++cur; v.push_back(cur); } } } vis[i * W + j] = true; } } if (!v.empty()) add_or(v); }
#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...