제출 #1323271

#제출 시각아이디문제언어결과실행 시간메모리
1323271kasamchiVision Program (IOI19_vision)C++20
8 / 100
5 ms1108 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

void construct_network(int H, int W, int K) {
	vector<int> Ns;
	int base = H * W, qidx = base, hdb = base + 1;
	for (int i = 0; i < H; i++) {
		Ns.clear();
		for (int j = 0; j < W; j++) {
			Ns.push_back(i * W + j);
		}
		if (i == 0) {
			add_xor(Ns), qidx++;
			add_not(qidx - 1), qidx++;
		} else {
			add_or(Ns), qidx++;
		}
	}
	int wdb = qidx + 1;
	for (int j = 0; j < W; j++) {
		Ns.clear();
		for (int i = 0; i < H; i++) {
			Ns.push_back(i * W + j);
		}
		if (j == 0) {
			add_xor(Ns), qidx++;
			add_not(qidx - 1), qidx++;
		} else {
			add_or(Ns), qidx++;
		}
	}
	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...