Submission #296260

#TimeUsernameProblemLanguageResultExecution timeMemory
296260theStaticMindVision Program (IOI19_vision)C++14
8 / 100
1 ms384 KiB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;

int n, m, k;

void query(int q){
	int x = q / m;
	int y = q % m;

	vector<int> ret;

	for(int h = max(0, x - k); h < n && h <= x + k; h++){
		int w = y - (k - abs(x - h));
		if(w >= 0)ret.push_back(h*m + w);
	}
	for(int h = 0; h < n; h++){
		int w = y + (k - abs(x - h));
		if(w > y && w < m) ret.push_back(h*m + w);
	}
	if(ret.empty()) add_not(q);
	else add_or(ret);
}

void construct_network(int H, int W, int K) {
	n = H;
	m = W;
	k = K;

/*	for(int i = 0; i < n*m; i++) query(i);
	for(int i = n*m; i < 2*n*m; i++) add_and({i - n*m, i});
	vector<int> arr;
	for(int i = 2*n*m; i < 3*n*m; i++) arr.push_back(i);
	add_or(arr);*/
	query(0);
}
#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...