#include "vision.h"
#include <math.h>
#include <vector>
using namespace std;
int dist(int a, int b, int w){
	int ra, ca, rb, cb;
	ra = a%w;
	rb = b%w;
	ca = a/w;
	cb = b/w;
	return abs(ra-rb)+abs(ca-cb);
}
void construct_network(int H, int W, int K) {
	vector<int> ns;
	vector<int> bigns(0);
	int lastindex = H*W-2;
	// lemma 2: brute force is not sigma. 
	int n=H*W;
	for(int i=0; i<n; i++){
		ns = {i};
		lastindex++;
		add_or(ns); // this is @ lastindex now :p
		for(int j=0; j<n; j++){
			if(j>i && dist(i,j,W)==K){
				ns.push_back(j);
			}
		}
		add_or(ns); // this is @ lastindex+1 :p
		ns = {lastindex, lastindex+1};
		add_and(ns); // this is @ lastindex+2 :P
		bigns.push_back(lastindex+2);
		lastindex+=3;
	}
	add_or(bigns);
}
| # | 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... |