#include <bits/stdc++.h>
using namespace std;
#include "vision.h"
int h, w, c0, c1, d;
int pti(int i, int j) {
return w * i + j;
}
vector<int> md (int i, int d, int D) {
/* 0 - /
1 - \ */
vector<int> v;
v.push_back(D);
int j;
if (d) {
j = h - 1;
if(i >= w) {
j -= i - w + 1;
i = w - 1;
}
} else {
j = 0;
if(i >= w) {
j += i - w + 1;
i = w - 1;
}
}
while (i >= 0 && j >= 0 && j < h) {
if (d) --j;
else ++j;
--i;
v.push_back (pti(i, j));
}
return v;
}
int amatmata (int k) {
vector<int> v;
d = add_or({c0});
for(int i = 0; i < w + h - 1; ++i) {
d = add_or (md (i - k, 0, d));
v.push_back (add_and (md (i, 0, d)));
}
d = add_or({c0});
for(int i = 0; i < w + h - 1; ++i) {
d = add_or(md (i - k, 1, d));
v.push_back(add_and (md (i, 1, d)));
}
return add_or(v);
}
void contruct_network (int H, int W, int K) {
if (H * W == 2) {
add_or ({0});
return;
}
c0 = add_and ({0, 1, 2});
c1 = add_not (c0);
h = H;
w = W;
add_and({amatmata (K), add_not (amatmata (K + 1))});
}
Compilation message
/tmp/ccSVw9Qs.o: In function `main':
grader.cpp:(.text.startup+0x19b): undefined reference to `construct_network(int, int, int)'
collect2: error: ld returned 1 exit status