Submission #429509

#TimeUsernameProblemLanguageResultExecution timeMemory
429509lakshith_Vision Program (IOI19_vision)C++14
33 / 100
232 ms1480 KiB
#include "vision.h"
#include <bits/stdc++.h>

#define checker(a) cout << "checker reached " << a << "\n"

using namespace std;

int h,w;

int getPos(int x,int y){
	return x*w+y;
}

int getDis(pair<int,int> p1,pair<int,int> p2){
	return abs(p1.first-p2.first)+abs(p1.second-p2.second);
}

void construct_network(int H, int W, int k) {
	h=H,w=W;
	vector<int> vec;
	set<pair<int,int>> s;
	for(int i=0;i<h;i++)
		for(int j=0;j<w;j++)
			for(int p=0;p<h;p++)
				for(int q=0;q<w;q++){
					if(getDis({i,j},{p,q})==k && s.count({getPos(i,j),getPos(p,q)})==0 && s.count({getPos(p,q),getPos(i,j)})==0){
						vec.push_back(add_and((vector<int>){getPos(i,j),getPos(p,q)}));
						s.insert({getPos(i,j),getPos(p,q)});
					}
				}
	add_or(vec);
}
#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...