Submission #1323417

#TimeUsernameProblemLanguageResultExecution timeMemory
1323417kasamchiVision Program (IOI19_vision)C++20
14 / 100
9 ms1848 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { int qidx = H * W; vector<int> base; vector<int> Ns; base.push_back(qidx); // 0 for (int i = 0; i < H; i++) { Ns.clear(); for (int j = 0; j < W; j++) { Ns.push_back(i * W + j); } add_or(Ns), qidx++; } base.push_back(qidx); // 1 for (int i = 0; i < H; i++) { Ns.clear(); for (int j = 0; j < W; j++) { Ns.push_back(i * W + j); } add_xor(Ns), qidx++; } base.push_back(qidx); // 2 for (int i = 0; i < H; i++) { add_xor({base[0] + i, base[1] + i}), qidx++; } base.push_back(qidx); // 3 for (int j = 0; j < W; j++) { Ns.clear(); for (int i = 0; i < H; i++) { Ns.push_back(i * W + j); } add_or(Ns), qidx++; } base.push_back(qidx); // 4 for (int j = 0; j < W; j++) { Ns.clear(); for (int i = 0; i < H; i++) { Ns.push_back(i * W + j); } add_xor(Ns), qidx++; } base.push_back(qidx); // 5 for (int j = 0; j < W; j++) { add_xor({base[3] + j, base[4] + j}), qidx++; } base.push_back(qidx); // 6 for (int i = 0; i + 1 < H; i++) { add_and({base[0] + i, base[0] + i + 1}), qidx++; } base.push_back(qidx); // 7 for (int j = 0; j + 1 < W; j++) { add_and({base[3] + j, base[3] + j + 1}), qidx++; } base.push_back(qidx); // 8 Ns.clear(); for (int i = 0; i < H; i++) { Ns.push_back(base[2] + i); } add_or(Ns), qidx++; base.push_back(qidx); // 9 Ns.clear(); for (int j = 0; j < W; j++) { Ns.push_back(base[5] + j); } add_or(Ns), qidx++; base.push_back(qidx); // 10 if (H == 1) { add_xor({0, 0}), qidx++; } else { Ns.clear(); for (int i = 0; i + 1 < H; i++) { Ns.push_back(base[6] + i); } add_or(Ns), qidx++; } base.push_back(qidx); // 11 if (W == 1) { add_xor({0, 0}), qidx++; } else { Ns.clear(); for (int j = 0; j + 1 < W; j++) { Ns.push_back(base[7] + j); } add_or(Ns), qidx++; } base.push_back(qidx); // 12 add_and({base[8], base[11]}), qidx++; base.push_back(qidx); // 13 add_and({base[9], base[10]}), qidx++; base.push_back(qidx); // 14 add_or({base[12], base[13]}); }
#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...