Submission #581988

#TimeUsernameProblemLanguageResultExecution timeMemory
581988JomnoiVision Program (IOI19_vision)C++17
12 / 100
12 ms1620 KiB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;

const int MAX_N = 405;

int H, W;
vector <int> tl[MAX_N], tr[MAX_N];
int tL[MAX_N], tR[MAX_N];
vector <int> ans;

void init(int h, int w) {
	H = h, W = w;
	for(int i = 0; i < H + W - 1; i++) {
		tl[i].clear();
		tr[i].clear();
	}
}

int id(int x, int y) {
	return x * W + y;
}

void construct_network(int h, int w, int K) {
	init(h, w);

	for(int i = 0; i < H; i++) {
		for(int j = 0; j < W; j++) {
			tl[i + j].push_back(id(i, j));
			tr[h - 1 + j - i].push_back(id(i, j));
		}
	}

	for(int i = 0; i < H + W - 1; i++) {
		tL[i] = add_or(tl[i]);
		tR[i] = add_or(tr[i]);
	}

	ans.clear();
	for(int i = 0; i + K < H + W - 1; i++) {
		ans.push_back(add_and({tL[i], tL[i + K]}));
		ans.push_back(add_and({tR[i], tR[i + K]}));
	}
	add_or(ans);
}
#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...