Submission #1237871

#TimeUsernameProblemLanguageResultExecution timeMemory
1237871MuhammadSaramVision Program (IOI19_vision)C++20
0 / 100
21 ms3400 KiB
#include "vision.h"
#include <bits/stdc++.h>

using namespace std;

void construct_network(int h, int w, int k)
{
	map<int,vector<int>> mp, mp1;
	for (int i=0;i<h;i++)
		for (int j=0;j<w;j++)
			mp[i+j].push_back(i*w+j),
			mp1[i-j].push_back(i*w+j);
	vector<int> v, v1;
	for (auto [i,x]:mp)
		v.push_back(add_or(x));
	for (auto [i,x]:mp1)
		v1.push_back(add_or(x));
	vector<int> p,p1;
	for (int i=0;i+k<v.size();i++)
		p.push_back(add_and({v[i],v[i+k]}));
	for (int i=0;i+k<v1.size();i++)
		p1.push_back(add_and({v1[i],v1[i+k]}));
	vector<int> q,q1;
	for (int i=0;i+k+1<v.size();i++)
	{
		vector<int> t;
		for (int j=i+k+1;j<v.size();j++)
			t.push_back(v[j]);
		q.push_back(add_and({v[i],add_or(t)}));
	}
	for (int i=0;i+k+1<v1.size();i++)
	{
		vector<int> t;
		for (int j=i+k+1;j<v1.size();j++)
			t.push_back(v1[j]);
		q1.push_back(add_and({v1[i],add_or(t)}));
	}
	int f=add_and({add_or(p),add_not(add_or(q1))});
	int s=add_and({add_or(p1),add_not(add_or(q))});
	add_or({f,s});
}
#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...