#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
bool check(int h, int w, int k){//is dist>k
vector<vector<int> > pos(h+w-1), neg(h+w-1);
for (int i=0; i<h; ++i)for (int j=0; j<w; ++j)pos[i-j+w-1].pb(i*w+j), neg[i+j].pb(i*w+j);
vector<int> ans, a, b, aa, bb;
for (int i=0; i<=h+w-2; ++i){
a.pb(add_xor(pos[i]));
aa.pb(add_xor(a));
b.pb(add_xor(neg[i]));
bb.pb(add_xor(b));
}
for (int i=k; i<=h+w-2; ++i)ans.pb(add_and({a[i], aa[i-k]})), ans.pb(add_and({b[i], bb[i-k]}));
return add_or(ans);
}
void construct_network(int h, int w, int k){
if (k<h+w-2)add_xor({check(h, w, k), check(h, w, k+1)});// if dist > k+1 and k+1 < dist <=k
else add_xor({check(h, w, k-1)});
}
# | 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... |