Submission #823754

#TimeUsernameProblemLanguageResultExecution timeMemory
823754vjudge1Vision Program (IOI19_vision)C++17
44 / 100
8 ms1868 KiB
#include<bits/stdc++.h>
#include "vision.h"

using namespace std;

void construct_network(int H, int W, int K) {
	int cur = H * W;
	for(int x1 = 0; x1 < H; x1++) {
		for(int y1 = 0; y1 < W; y1++) {
			vector<int> Ns;
			for(int d = -K + 1; d <= K; d++) {
				int x2 = x1 + d, y2 = y1 + K - abs(d);
				if(x2 < 0 || x2 >= H || y2 < 0 || y2 >= W) continue;
				Ns.push_back(x2 * W + y2);
			}
			if(!Ns.empty()) {
				add_or(Ns);
				add_and({cur, x1 * W + y1});
				cur += 2;
			}
		}
	}
	vector<int> ns;
	for(int i = H * W + 1; i < cur; i += 2)
		ns.push_back(i);
	add_or(ns);
}
#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...