#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
int h,w,k;
int fpt(int x,int y){
    return y*w+x;
}
void construct_network(int H, int W, int K) {
	h=H;
	w=W;
	k=K;
	int cor[w],cnx[w],ror[h],rnx[h];
	for(int i=0;i<w;i++){
        vector<int>ns;
        for(int j=0;j<h;j++){
            ns.push_back(fpt(i,j));
        }
        cor[i]=add_or(ns);
        cnx[i]=add_not(add_xor(ns));
	}
	for(int i=0;i<h;i++){
        vector<int>ns;
        for(int j=0;j<w;j++){
            ns.push_back(fpt(j,i));
        }
        ror[i]=add_or(ns);
        rnx[i]=add_not(add_xor(ns));
	}
	vector<int>r;
	for(int dx=0;dx<=k;dx++){
        int dy=k-dx;
        vector<int>a1;
        for(int i=0;i+dx<w;i++){
            a1.push_back(add_and({cor[i],cor[i+dx]}));
        }
        vector<int>a2;
        for(int j=0;j+dy<h;j++){
            a2.push_back(add_and({ror[j],ror[j+dy]}));
        }
        vector<int>b;
        if(a1.size()){
            b.push_back(add_or(a1));
        }
        if(a2.size()){
            b.push_back(add_or(a2));
        }
        r.push_back(add_and(b));
    }
    add_or(r);
}
| # | 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... |