#include "vision.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
//#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;
void construct_network(int H, int W, int K) {
auto pixel = [&](int x,int y) {
return x*W+y;
};
int ctr= H*W-1;
vi todo;
vi v;
for (int i = 0;i<H;i++) {
for (int j = 0;j<W;j++) {
v.clear();
for (int dx = 0;dx+j < W;dx++) {
int dy = K-abs(dx);
if (dy < 0) continue;
if (dx && dy <= i && i-dy < H) v.push_back(pixel(i-dy,j+dx));
if (i+dy < H && i+dy >= 0) v.push_back(pixel(i+dy,j+dx));
}
if (big(v) > 1) {
sort(all(v));
add_or(v);
add_and({++ctr,pixel(i,j)});
todo.push_back(++ctr);
}
else if (big(v) == 1) {
add_and({pixel(i,j),v[0]});
todo.push_back(++ctr);
}
}
}
add_or(todo);
}
# | 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... |