Submission #1020909

#TimeUsernameProblemLanguageResultExecution timeMemory
1020909pawnedVision Program (IOI19_vision)C++17
33 / 100
798 ms1136 KiB
#pragma GCC optimize("O1,O2,O3,Ofast,unroll-loops")

#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;

#include "vision.h"

int H, W, K;

ii conv(int x) {
	return {x / W, x % W};
}

int dist(int x, int y) {
	ii r1 = conv(x);
	ii r2 = conv(y);
	int res = abs(r1.fi - r2.fi) + abs(r1.se - r2.se);
	return res;
}

void construct_network(int h, int w, int k) {
	H = h; W = w; K = k;
/*	vi Ns;
	Ns = {0, 5};
	int a = add_and(Ns);
	Ns = {2, 3};
	int b = add_and(Ns);
	Ns = {6, 7};
	add_or(Ns);*/
	int ctr = 0;
	for (int i = 0; i < H * W; i++) {
		for (int j = i + 1; j < H * W; j++) {
			if (dist(i, j) == K) {
				add_and({i, j});
				ctr++;
			}
		}
	}
	vi tq;
	for (int i = H * W; i < H * W + ctr; i++) {
		tq.pb(i);
	}
	add_or(tq);
}
#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...