Submission #1195177

#TimeUsernameProblemLanguageResultExecution timeMemory
1195177madamadam3Vision Program (IOI19_vision)C++20
44 / 100
1096 ms9404 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; #define all(x) (x).begin(), (x).end() #define FOR(i, a, b) for (int i = a; i < b; i++) #define each(a, x) for (auto &x : a) #define srt(x) sort(all(x)) #define sz(x) (int) (x).size() #define pb push_back #define trace(x) for (auto &el : x) cout << el << " " using pi = pair<int, int>; using vi = vector<int>; using vpi = vector<pi>; int H, W, K; int coord_to_int(int i, int j) { return i * W + j; } int instruction_to_int(int i) { return H * W + i; } pi int_to_coord(int inp) { return {inp / W, inp % W}; } int manhattan(int x1, int y1, int x2, int y2) { return abs(x1 - x2) + abs(y1 - y2); } void construct_network(int _H, int _W, int _K) { H = _H; W = _W; K = _K; // vpi a, b; vector<vi> potential(H*W, vi()); FOR(i, 0, H*W) { pi coords = int_to_coord(i); FOR(x1, 0, H) { FOR(y1, 0, W) { if (manhattan(coords.first, coords.second, x1, y1) != K) continue; potential[i].pb(coord_to_int(x1, y1)); } } } int tl_instructions = 0; FOR(i, 0, H*W) { if (sz(potential[i]) > 0) { add_or(potential[i]); add_and({instruction_to_int(2*tl_instructions), i}); tl_instructions++; } } vi ors; FOR(i, 0, tl_instructions) { ors.pb(instruction_to_int(2*i+1)); } add_or(ors); }
#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...