Submission #424889

#TimeUsernameProblemLanguageResultExecution timeMemory
424889schseVision Program (IOI19_vision)C++17
12 / 100
2 ms1096 KiB
#include "vision.h"
#ifndef EVAL
#include "grader.cpp"
#endif
#include <bits/stdc++.h>
using namespace std;

void construct_network(int H, int W, int K)
{
	vector<int> lr;
	for (int r = 0; r < H; r++)
	{
		for (int c = 0; c < W; c++)
		{
			for (int rn, cn, i = 0; i <= K; i++)
			{
				rn = r + i;
				cn = c + K - i;
				if (0 <= cn && cn < W && 0 <= rn && rn < H)
					lr.push_back(add_and({r * W + c, cn + rn * W}));
				rn = r - i;
				cn = c - (K - i);
				if (0 <= cn && cn < W && 0 <= rn && rn < H)
					lr.push_back(add_and({r * W + c, cn + rn * W}));
				rn = r - i;
				cn = c + K - i;
				if (0 <= cn && cn < W && 0 <= rn && rn < H)
					lr.push_back(add_and({r * W + c, cn + rn * W}));
				rn = r + i;
				cn = c - K - i;
				if (0 <= cn && cn < W && 0 <= rn && rn < H)
					lr.push_back(add_and({r * W + c, cn + rn * W}));
			}
		}
	}
	add_or(lr);
	return;
}
#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...