#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 + w * coords.ss;
}
void isoob(pair<int,int> coords, vector<int> &Ns) {
if (!(coords.ff < 0 || coords.ss < 0 || coords.ff >= w || coords.ss >= h)) {
Ns.pb(ctn(mp(coords.ff, coords.ss)));
//cout << coords.ff << ' ' << coords.ss << ' ' << ctn(mp(coords.ff, coords.ss)) << endl;
}
}
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();
isoob(mp(curpixel.ff, curpixel.ss - k), Ns);
isoob(mp(curpixel.ff, curpixel.ss + k), Ns);
isoob(mp(curpixel.ff - k, curpixel.ss), Ns);
isoob(mp(curpixel.ff + k, curpixel.ss), Ns);
for (int l=1;l<k;l++) {
isoob(mp(curpixel.ff - l, curpixel.ss - k + l), Ns);
isoob(mp(curpixel.ff + l, curpixel.ss - k + l), Ns);
isoob(mp(curpixel.ff - l, curpixel.ss + k - l), Ns);
isoob(mp(curpixel.ff + l, curpixel.ss + k - l), Ns);
}
//cout << "FOR " << ctn(curpixel) << ':' << endl;
//for (int i: Ns) {
// cout << i << ' ';
//}
//cout << endl;
if (Ns.size() == 0) continue;
insnum = add_or(Ns);
Ns.clear(); Ns.pb(ctn(curpixel));
add_or(Ns);
Ns.clear();
Ns.pb(insnum);
Ns.pb(insnum + 1);
finalNs.pb(add_and(Ns));
}
}
if (finalNs.size() == 0) {
finalNs.pb(0); finalNs.pb(1); finalNs.pb(2);
add_and(finalNs);
} else {
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... |