Submission #1195238

#TimeUsernameProblemLanguageResultExecution timeMemory
1195238nikulidVision Program (IOI19_vision)C++20
0 / 100
448 ms1072 KiB
#include "vision.h"
#include <math.h>
#include <vector>

using namespace std;

int dist(int a, int b, int w){
	int ra, ca, rb, cb;
	ra = a%w;
	rb = b%w;
	ca = a/w;
	cb = b/w;
	return abs(ra-rb)+abs(ca-cb);
}

void construct_network(int H, int W, int K) {
	vector<int> ns;
	vector<int> bigns(0);
	int lastindex = H*W;

	// lemma 2: brute force is not sigma. 

	int n=H*W;
	for(int i=0; i<n; i++){
		ns = {i};
		add_or(ns); // this is @ lastindex now :p
		for(int j=0; j<n; j++){
			if(j>i && dist(i,j,W)==K){
				ns.push_back(j);
			}
		}
		add_or(ns); // this is @ lastindex+1 :p
		ns = {lastindex, lastindex+1};
		add_and(ns); // this is @ lastindex+2 :P

		bigns.push_back(lastindex+2);
		lastindex+=3;
	}
	add_or(bigns);

}
#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...