제출 #1323261

#제출 시각아이디문제언어결과실행 시간메모리
1323261kasamchiVision Program (IOI19_vision)C++20
32 / 100
2 ms1204 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { int base = H * W, qidx = H * W; vector<int> Ns; 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++; } for (int d = 1; d < H; d++) { for (int i = 0; i + d < H; i++) { add_and({{base + i, base + i + d}}), qidx++; } } Ns.clear(); for (int i = 0; i < H; i++, base++) { Ns.push_back(base); } add_xor(Ns), qidx++; for (int d = 1; d < H; d++) { Ns.clear(); for (int i = 0; i < H - d; i++, base++) { Ns.push_back(base); } add_or(Ns), qidx++; } int hdb = qidx - H; // ------------------------------ base = qidx; 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++; } for (int d = 1; d < W; d++) { for (int i = 0; i + d < W; i++) { add_and({{base + i, base + i + d}}), qidx++; } } Ns.clear(); for (int i = 0; i < W; i++, base++) { Ns.push_back(base); } add_xor(Ns), qidx++; for (int d = 1; d < W; d++) { Ns.clear(); for (int i = 0; i < W - d; i++, base++) { Ns.push_back(base); } add_or(Ns), qidx++; } int wdb = qidx - W; // ------------------------------ base = qidx; for (int i = 0; i < H; i++) { int j = K - i; if (j >= 0 && j < W) { add_and({hdb + i, wdb + j}), qidx++; } } Ns.clear(); for (int i = base; i < qidx; i++) { Ns.push_back(i); } add_or(Ns), qidx++; }
#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...