Submission #1071153

#TimeUsernameProblemLanguageResultExecution timeMemory
1071153pccVision Program (IOI19_vision)C++17
33 / 100
110 ms1240 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

#define pii pair<int,int>
#define fs first
#define sc second

int H,W,K;

int encode(int r,int c){
	return r*W+c;
}
pii decode(int k){
	return pii(k/W,k%W);
}


void construct_network(int HH, int WW, int KK) {
	set<pii> st;
	H = HH,W = WW,K = KK;
	int ans = add_xor({0,0});
	for(int r1 = 0;r1<H;r1++){
		for(int c1 = 0;c1<W;c1++){
			for(int r2 = 0;r2<H;r2++){
				for(int c2 = 0;c2<W;c2++){
					if(abs(r1-r2)+abs(c1-c2) == K){
						pii p = pii(encode(r1,c1),encode(r2,c2));
						if(p.fs>p.sc)swap(p.fs,p.sc);
						if(st.find(p) != st.end())continue;
						st.insert(p);
						int tmp = add_and({encode(r1,c1),encode(r2,c2)});
						ans = add_or({ans,tmp});
					}
				}
			}
		}
	}
	return;
}
#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...