Submission #424844

#TimeUsernameProblemLanguageResultExecution timeMemory
424844madlogicVision Program (IOI19_vision)C++17
0 / 100
4 ms1480 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { vector<vector<vector<int>>> dp(3, vector<vector<int>>(H, vector<int>(W, -1))); for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { vector<int> v{i * W + j}; for (int x = 0; x <= K; x++) { int y = K - x; set<int> s; s.insert(y); s.insert(-y); for (int ys : s) { int dx = i + y; int dy = j + ys; if (dx >= 0 && dx < H && dy >= 0 && dy < W) { int yy = dx * W + dy; v.push_back(yy); } } } dp[0][i][j] = add_xor(v); dp[1][i][j] = add_or(v); reverse(v.begin(), v.end()); v.pop_back(); if (!v.empty()) { dp[2][i][j] = add_xor(v); } } } vector<int> v; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { int a = dp[0][i][j]; int b = dp[1][i][j]; if (dp[2][i][i] != -1) { int id1 = add_xor({a, b}); int idx = add_and({id1, dp[2][i][j]}); v.push_back(idx); } } } 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...