#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define V vector
#define pb push_back
int h,w;
int cell(int i,int j){
return w*i+j;
}
int f(int k){
return h*w+k-1;
}
V<int>pos;
void construct_network(int H, int W, int K) {
h=H,w=W;
for(int i=0;i<H;i++){
V<int>vp;
for(int j=0;j<W;j++){
vp.pb(cell(i,j));
}
add_or(vp);
}
for(int i=0;i<W;i++){
V<int>vp;
for(int j=0;j<H;j++){
vp.pb(cell(j,i));
}
add_or(vp);
}
for(int i=0;i<=K;i++){
V<int>vp;
int row=-1,col=-1;
for(int j=1;j+i<=H;j++){
int x=add_and({f(j),f(j+i)});
vp.pb(x);
}
if(vp.empty()){
continue;
}
row=add_or(vp);
vp.clear();
for(int j=1;j+K-i<=W;j++){
int x=add_and({f(H+j),f(H+j+K-i)});
vp.pb(x);
}
if(vp.empty()){
continue;
}
col=add_or(vp);
int y=add_and({col,row});
pos.pb(y);
}
if(!pos.empty()) {
add_or(pos);
}
else{
int x=add_not(0);
int y=add_xor({0,x});
add_not(y);
}
}
# | 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... |