Submission #989290

#TimeUsernameProblemLanguageResultExecution timeMemory
989290PagodePaivaVision Program (IOI19_vision)C++17
14 / 100
5 ms1256 KiB
#include "vision.h"
#include <bits/stdc++.h>

using namespace std;

void construct_network(int h, int w, int k) {
	vector <int> linha;
	for(int i = 0;i < h;i++){
		vector <int> v;
		for(int j = 0;j < w;j++){		
			v.push_back(i*w+j);
		}
		linha.push_back(add_xor(v));
	}
	vector <int> coluna;
	for(int j = 0;j < w;j++){
		vector <int> v;
		for(int i = 0;i < h;i++){
			v.push_back(i*w+j);
		}
		coluna.push_back(add_xor(v));
	}
	int l = add_not(add_or(linha));
	int c = add_not(add_or(coluna));
	vector <int> aux;
	for(int i = 0;i < w-1;i++){
		aux.push_back(add_and({coluna[i], coluna[i+1]}));
	}
	int ll = (aux.size() == 0 ? -1 : add_or(aux));
	aux.clear();
	for(int i = 0;i < h-1;i++){
		aux.push_back(add_and({linha[i], linha[i+1]}));
	}
	int cc = (aux.size() == 0 ? -1 : add_or(aux));
	if(ll == -1) add_and({c, cc});
	else if(cc == -1) add_and({l, ll});
	else add_or({add_and({l, ll}), add_and({c, cc})});
	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...