#include<iostream>
#include<algorithm>
#include<vector>
#include "vision.h"
using namespace std;
const int MAX_N=2e3+3;
int n,m,k;
int tonum(int i,int j)
{
return i*m+j;
}
int xorcol[MAX_N];
int xorrow[MAX_N];
int allzeroxorrow,allzeroxorcol;
void construct_network(int H, int W, int K)
{
n=H;
m=W;
k=K;
if(n*m*2<=10000)
{
vector<int>positionscheck;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
vector<int>cells;
for(int i2=i;i2<n;i2++)
{
if(i2==i && j+k<m)cells.push_back(tonum(i2,j+k));
if(i2>i)
{
int rem=k-(i2-i);
if(rem<0)break;
if(j-rem>=0)cells.push_back(tonum(i2,j-rem));
if(j+rem<m)cells.push_back(tonum(i2,j+rem));
}
}
if(cells.size()==0)continue;
int pos=add_or(cells);
vector<int>tmp;tmp.push_back(pos);tmp.push_back(tonum(i,j));
positionscheck.push_back(add_and(tmp));
}
}
add_or(positionscheck);
return;
}
vector<int>xorrowcells;
for(int i=0;i<n;i++)
{
vector<int>cells;
for(int j=0;j<m;j++)
{
cells.push_back(tonum(i,j));
}
xorrow[i]=add_xor(cells);
xorrowcells.push_back(xorrow[i]);
}
vector<int>xorcolcells;
for(int j=0;j<m;j++)
{
vector<int>cells;
for(int i=0;i<n;i++)
{
cells.push_back(tonum(i,j));
}
xorcol[j]=add_xor(cells);
xorcolcells.push_back(xorcol[j]);
}
allzeroxorrow=add_or(xorrowcells);
allzeroxorrow=add_not(allzeroxorrow);
allzeroxorcol=add_or(xorcolcells);
allzeroxorcol=add_not(allzeroxorcol);
vector<int>androwcons;
for(int i=1;i<n;i++)
{
androwcons.push_back(add_and({xorrowcells[i-1],xorrowcells[i]}));
}
vector<int>andcolcons;
for(int j=1;j<m;j++)
{
andcolcons.push_back(add_and({xorcolcells[j-1],xorcolcells[j]}));
}
int consrow1,conscol1;
consrow1=add_or(androwcons);
consrow1=add_and({consrow1,allzeroxorcol});
conscol1=add_or(andcolcons);
conscol1=add_and({conscol1,allzeroxorrow});
add_or({conscol1,consrow1});
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |