제출 #1242192

#제출 시각아이디문제언어결과실행 시간메모리
1242192nvujicaVision Program (IOI19_vision)C++20
44 / 100
7 ms1980 KiB
#include <bits/stdc++.h>
#include "vision.h"

using namespace std;

void construct_network(int h, int w, int k) {
	vector<int> Ns;
	// Ns = {0, 1};
	// int a = add_and(Ns);
	// Ns = {0, a};
	// int b = add_or(Ns);
	// Ns = {0, 1, b};
	// int c = add_xor(Ns);
	// add_not(c);

	int cnt = 0;

	vector <int> v;

	for(int x = 0; x < h; x++){
		for(int y = 0; y < w; y++){
			Ns.clear();

			for(int x2 = 0; x2 < h; x2++){
				int y2 = y + k - abs(x -  x2);
				
				if((y < y2 || (y == y2 && x < x2)) && y2 < w) Ns.push_back(x2 * w + y2);
			}

			if(Ns.empty()) continue;

			// cout << "OR ";
			// for(int i = 0; i < Ns.size(); i++){
			// 	cout << Ns[i] << ' ';
			// }
			// cout << endl;

			if(Ns.size() == 1) v.push_back(add_and({x * w + y, Ns[0]}));
			else v.push_back(add_and({x * w + y, add_or(Ns)}));
		}
	}

	// for(int i = 0; i < v.size(); i++){
	// 	cout << v[i] << ' ';
	// }
	// cout << endl;

	add_or(v);
}
#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...