Submission #600967

#TimeUsernameProblemLanguageResultExecution timeMemory
600967SeDunionVision Program (IOI19_vision)C++17
14 / 100
8 ms1108 KiB
#include "vision.h" #include<algorithm> #include<iostream> #include<vector> #include<cmath> using namespace std; int dist(int x, int y, int i, int j) { return abs(x - i) + abs(y - j); } void construct_network(int H, int W, int K) { vector<int>res; vector<int>xrow(H), xcol(W); for (int i = 0 ; i < H ; ++ i) { vector<int>cur; for (int j = 0 ; j < W ; ++ j) { cur.emplace_back(i * W + j); } xrow[i] = add_xor(cur); } for (int j = 0 ; j < W ; ++ j) { vector<int>cur; for (int i = 0 ; i < H ; ++ i) { cur.emplace_back(i * W + j); } xcol[j] = add_xor(cur); } vector<int>temp; for (int i = 0 ; i < H ; ++ i) temp.emplace_back(xrow[i]); int zrow = add_or(temp); zrow = add_not(zrow); temp.clear(); for (int i = 0 ; i < W ; ++ i) temp.emplace_back(xcol[i]); int zcol = add_or(temp); zcol = add_not(zcol); for (int i = 1 ; i < H ; ++ i) { int a = xrow[i - 1]; int b = xrow[i]; int c = zcol; res.emplace_back(add_and({a, b, c})); } for (int i = 1 ; i < W ; ++ i) { int a = xcol[i - 1]; int b = xcol[i]; int c = zrow; res.emplace_back(add_and({a, b, c})); } add_or(res); }
#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...