#include "vision.h"
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define ll long long
using namespace std;
int h, w, k;
int ctn(pair<int,int> coords) {
return coords.ff + h * coords.ss;
}
bool isoob(pair<int,int> coords) {
if (coords.ff < 0 || coords.ss < 0 || coords.ff >= w || coords.ss >= h) {
return true;
}
return false;
}
void construct_network(int H, int W, int K) {
h = H; w = W; k = K;
pair<int,int> curpixel;
vector<int> Ns, finalNs;
int insnum = 0;
for (int i=0;i<w;i++) {
for (int j=0;j<h;j++) {
curpixel.ff = i; curpixel.ss = j;
Ns.clear();
if (!isoob(mp(curpixel.ff, curpixel.ss - k))) {Ns.pb(ctn(mp(curpixel.ff, curpixel.ss - k)));}
if (!isoob(mp(curpixel.ff, curpixel.ss + k))) {Ns.pb(ctn(mp(curpixel.ff, curpixel.ss + k)));}
if (!isoob(mp(curpixel.ff - k, curpixel.ss))) {Ns.pb(ctn(mp(curpixel.ff - k, curpixel.ss)));}
if (!isoob(mp(curpixel.ff + k, curpixel.ss))) {Ns.pb(ctn(mp(curpixel.ff + k, curpixel.ss)));}
for (int i=1;i<k-1;i++) {
if (!isoob(mp(curpixel.ff - i, curpixel.ss - k + i))) {Ns.pb(ctn(mp(curpixel.ff - i, curpixel.ss - k + i)));}
if (!isoob(mp(curpixel.ff + i, curpixel.ss - k + i))) {Ns.pb(ctn(mp(curpixel.ff + i, curpixel.ss - k + i)));}
if (!isoob(mp(curpixel.ff - i, curpixel.ss + k - i))) {Ns.pb(ctn(mp(curpixel.ff - i, curpixel.ss + k - i)));}
if (!isoob(mp(curpixel.ff + i, curpixel.ss + k - i))) {Ns.pb(ctn(mp(curpixel.ff + i, curpixel.ss + k - i)));}
}
if (Ns.size() == 0) continue;
add_or(Ns);
Ns.clear(); Ns.pb(ctn(curpixel));
add_or(Ns);
Ns.clear();
Ns.pb(h * w + 3 * insnum);
Ns.pb(h * w + 3 * insnum + 1);
add_and(Ns);
finalNs.pb(h * w + 3 * insnum + 2);
insnum += 1;
}
}
add_or(finalNs);
}
# | 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... |