Submission #1237974

#TimeUsernameProblemLanguageResultExecution timeMemory
1237974Sir_Ahmed_ImranVision Program (IOI19_vision)C++17
44 / 100
6 ms3008 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define append push_back

int m;

int get(int i, int j){
	return i * m + j;
}

void construct_network(int H, int W, int K) {
	int n = H; m = W;
	vector<int> v;
	vector<int> a(n * m);
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++){
			for(int k = max(0, j - K); k < min(m, j + K); k++)
				if(i + K - abs(j - k) < n)
					v.append(get(i + K - abs(j - k), k));
			a[get(i, j)] = -1;
			if(v.empty()) continue;
			a[get(i, j)] = add_or(v);
			v.clear();
		}
	}
	for(int i = 0; i < n * m; i++)
		if(a[i] >= 0)
			v.append(add_and({i, a[i]}));
	add_or(v);
}
#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...