#include"vision.h"
#include<bits/stdc++.h>
using namespace std;
void construct_network(int H,int W,int K)
{
vector<int> vv1,vv2,w;
for(int i=0;i<H+W-1;i++)
{
vector<int> vi;
for(int j=0;j<H*W;j++) if(j/W+j%W==i) vi.push_back(j);
vv1.push_back(add_or(vi));
}
for(int i=0;i<H+W-1;i++)
{
vector<int> vi;
for(int j=0;j<H*W;j++) if(j/W+W-1-j%W==i) vi.push_back(j);
vv2.push_back(add_or(vi));
}
for(int i=K;i<vv1.size();i++)
{
w.push_back(add_and({vv1[i],vv1[i-K]}));
w.push_back(add_and({vv2[i],vv2[i-K]}));
}
int res=add_or(w);
K--;
vector<int> ww1,ww2;
for(int i=0;i<vv1.size();i++) ww1.push_back(add_and({vv1[i]}));
for(int i=0;i<vv2.size();i++) ww2.push_back(add_and({vv2[i]}));
int sum=0;
for(int i=0;K-(1<<i)>=0;i++)
{
sum+=(1<<i);
vector<int> tam;
for(int j=0;j<sum;j++) tam.push_back(add_or({ww1[j]}));
for(int j=sum;j<ww1.size();j++) tam.push_back(add_or({ww1[j],ww1[j-(1<<i)]}));
ww1=tam,tam.clear();
for(int j=0;j<sum;j++) tam.push_back(add_or({ww2[j]}));
for(int j=sum;j<ww2.size();j++) tam.push_back(add_or({ww2[j],ww2[j-(1<<i)]}));
ww2=tam,K-=(1<<i);
}
sum+=K;
vector<int> tam;
for(int j=0;j<sum;j++) tam.push_back(add_or({ww1[j]}));
for(int j=sum;j<ww1.size();j++) tam.push_back(add_or({ww1[j],ww1[j-K]}));
ww1=tam,tam.clear();
for(int j=0;j<sum;j++) tam.push_back(add_or({ww2[j]}));
for(int j=sum;j<ww2.size();j++) tam.push_back(add_or({ww2[j],ww2[j-K]}));
ww2=tam,w.clear();
for(int j=1;j<vv1.size();j++) w.push_back(add_and({vv1[j],ww1[j-1]}));
int res2=add_or(w),rp=add_xor(vv1);
res2=add_or({res2,rp});
w.clear();
for(int j=1;j<vv2.size();j++) w.push_back(add_and({vv2[j],ww2[j-1]}));
int res3=add_or(w);
rp=add_xor(vv2),res3=add_or({res3,rp});
add_and({res,res2,res3});
}
# | 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... |