제출 #733647

#제출 시각아이디문제언어결과실행 시간메모리
733647senthetaVision Program (IOI19_vision)C++17
44 / 100
204 ms3036 KiB
#include "vision.h"
// author : sentheta aka vanwij
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<cassert>
#include<random>
#include<chrono>
#include<cmath>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<map>
#include<set>
using namespace std;

#define Int long long
#define V vector
#define pii pair<int,int>
#define ff first
#define ss second

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

#define pow2(x) (1LL<<(x))
#define msb(x) (63-__builtin_clzll(x))
#define bitcnt(x) (__builtin_popcountll(x))

#define nl '\n'
#define _ << ' ' <<
#define all(x) (x).begin(), (x).end()
#define rep(i,a,b) for(int i = (int)(a); i < (int)(b); i++)
#define dbg(x) if(1) cout << "?" << #x << " : " << (x) << endl << flush;


int h, w, k;
int f(int i,int j){
	return i*w+j;
}

void construct_network(int _h,int _w,int _k){
	h = _h; w = _w; k = _k;

	V<int> results;
	rep(i,0,h) rep(j,0,w){
		V<int> v;
		rep(p,0,h) rep(q,0,w) if(abs(i-p)+abs(j-q)==k){
			v.push_back(f(p,q));
		}
		if(!v.empty()){
			int z = add_or(v);
			z = add_and({z, f(i,j)});
			results.push_back(z);
		}
	}
	add_or(results);

	return;

	// V<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);
}
#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...