Submission #1051066

#TimeUsernameProblemLanguageResultExecution timeMemory
1051066LalicVision Program (IOI19_vision)C++17
44 / 100
2 ms1752 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define mp make_pair

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef complex<double> cd;

void construct_network(int H, int W, int K) {
	vector<int> fin;
	
	for(int i=0;i<H;i++){
		for(int j=0;j<W;j++){
			vector<int> aux;
			
			for(int x=i;x<=i+K;x++){
				int y=j+K-x+i;
				
				if(x<H && y<W)
					aux.pb(x*W+y);
			}
			
			if(!aux.empty()){
				int curr=add_or(aux);
				fin.pb(add_and({i*W+j, curr}));
			}
		}
	}
	
	for(int i=0;i<H;i++){
		for(int j=W-1;j>=0;j--){
			vector<int> aux;
			
			for(int x=i;x<=i+K;x++){
				int y=j-(K-x+i);
				
				if(x<H && y>=0)
					aux.pb(x*W+y);
			}
			
			if(!aux.empty()){
				int curr=add_or(aux);
				fin.pb(add_and({i*W+j, curr}));
			}
		}
	}
				
	add_or(fin);
}
#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...