#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
void construct_network(int H, int W, int K) {
int zero,one;
vector<int> cur,vec,hd[8],realhd(8),wd[8],realwd(8),add(9),result(9),ans;
cur.clear();
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
cur.push_back(i*W+j);
}
}
zero=add_xor(cur);
one=add_not(zero);
vec.clear();
for(int i=0;i<H;i++){
cur.clear();
for(int j=0;j<W;j++){
cur.push_back(i*W+j);
}
vec.push_back(add_or(cur));
}
for(int i=0;i<H;i++){
for(int j=0;j<8;j++){
cur.clear();
for(int k=0;k<H;k++){
if(abs(k-i)&(1<<j)){
cur.push_back(vec[k]);
}
}
if(!cur.empty()){
hd[j].push_back(add_and({vec[i],add_or(cur)}));
}
}
}
for(int i=0;i<8;i++){
if(hd[i].empty()){
realhd[i]=zero;
}else{
realhd[i]=add_or(hd[i]);
}
}
vec.clear();
for(int i=0;i<W;i++){
cur.clear();
for(int j=0;j<H;j++){
cur.push_back(j*W+i);
}
vec.push_back(add_or(cur));
}
for(int i=0;i<W;i++){
for(int j=0;j<8;j++){
cur.clear();
for(int k=0;k<W;k++){
if(abs(k-i)&(1<<j)){
cur.push_back(vec[k]);
}
}
if(!cur.empty()){
wd[j].push_back(add_and({vec[i],add_or(cur)}));
}
}
}
for(int i=0;i<8;i++){
if(wd[i].empty()){
realwd[i]=zero;
}else{
realwd[i]=add_or(wd[i]);
}
}
add[0]=zero;
for(int i=0;i<8;i++){
result[i]=add_xor({add[i],realhd[i],realwd[i]});
add[i+1]=add_or({add_and({realhd[i],realwd[i]}),add_and({add[i],realwd[i]}),add_and({realhd[i],add[i]})});
}
result[8]=add[8];
for(int i=0;i<8;i++){
if(K&(1<<i)){
ans.push_back(add_not(add_xor({one,result[i]})));
}else{
ans.push_back(add_not(add_xor({zero,result[i]})));
}
}
ans.push_back(add_not(result[8]));
add_and(ans);
}
# | 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... |