Submission #716810

#TimeUsernameProblemLanguageResultExecution timeMemory
716810NonozeVision Program (IOI19_vision)C++14
44 / 100
188 ms2312 KiB
#include "vision.h"

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

void construct_network(int H, int W, int K) {
	vector<int> Ns;
	int empl=H*W-1;
	for (int i = 0; i < H; ++i)
	{
		for (int j = 0; j < W; ++j)
		{
			vector<int> possibles;
			int act=i*W+j;
			for (int k = 0; k < H; ++k)
			{
				for (int l = 0; l < W; ++l)
				{
					if (abs(k-i)+abs(l-j)==K && k*W+l>=act)
					{
						possibles.push_back(k*W+l);
					}
				}
			}
			if (!possibles.size()) continue;
			if (possibles.size()==1)
			{
				add_and({possibles[0], i*W+j});
				empl++;
			}
			else
			{
				add_xor(possibles);
				empl++;
				add_and({empl, i*W+j});
				empl++;
			}
			Ns.push_back(empl);
		}
	}
	add_or(Ns);
	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...