Submission #600853

#TimeUsernameProblemLanguageResultExecution timeMemory
600853SeDunionVision Program (IOI19_vision)C++17
44 / 100
148 ms2940 KiB
#include "vision.h"
#include<algorithm>
#include<iostream>
#include<vector>
#include<cmath>

using namespace std;

int dist(int x, int y, int i, int j) {
	return abs(x - i) + abs(y - j);
}

void construct_network(int H, int W, int K) {
	vector<int>Ne;
	vector<int>res;
	for (int x = 0 ; x < H ; ++ x) {
		for (int y = 0 ; y < W ; ++ y) {
			Ne.clear();
			for (int i = 0 ; i < H ; ++ i) {
				for (int j = 0 ; j < W ; ++ j) {
					if (dist(i, j, x, y) == K) {
						Ne.emplace_back(i * W + j);
					}
				}
			}
			if (Ne.empty()) continue;
			int a = add_or(Ne);
			int b = add_and({x * W + y, a});
			res.emplace_back(b);
		}
	}
	add_or(res);
}

#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...