#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
using int_t = int64_t;
using int128 = __int128_t;
using ld = long double;
using pi = pair<int_t, int_t>;
using vi = vector<int_t>;
using vvi = vector<vi>;
constexpr int_t INF{numeric_limits<int_t>::max()};
int H_;
int W_;
int ind(int a, int b)
{
return W_ * a + b;
}
void construct_network(int H, int W, int K)
{
H_ = H;
W_ = W;
vector<pi> ks;
for (int_t i = 0; i < K; i++)
{
ks.push_back({i, K - i});
ks.push_back({-i, K - i});
ks.push_back({i, -K + i});
ks.push_back({-i, -K + i});
}
vector<int> mem;
for (int_t i = 0; i < H; i++)
{
for (int_t j = 0; j < W; j++)
{
for (auto is : ks)
{
if (i + is.first >= 0 && i + is.first < W && j + is.second >= 0 && j + is.second < H)
{
int_t c = add_and({ind(i + is.first, j + is.second), ind(i, j)});
mem.push_back(c);
}
}
}
}
add_or(mem);
return;
}
# | 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... |