# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1021542 | vjudge1 | Vision Program (IOI19_vision) | C++17 | 8 ms | 2004 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;
using vi = vector <int>;
void construct_network (int h, int w, int K) {
vi th;
auto toLine = [&](ll i, ll j) { return 0 <= i && i < h && 0 <= j && j < w ? i*w+j : -16; };
auto getNeigh = [&](ll i, ll j) -> vi {
vi ans;
for (ll k = 0; k < K; k++) {
ans.push_back(toLine(i-K+k, j+k));
ans.push_back(toLine(i+k, j+K-k));
}
sort(ans.begin(), ans.end());
ans.resize(unique(ans.begin(), ans.end()) - ans.begin());
if (ans.empty()) return ans;
if (ans[0] == -16) ans.erase(ans.begin());
return ans;
};
for (ll i = 0; i < h; i++) {
for (ll j = 0; j < w; j++) {
vi neighs = getNeigh(i, j);
if (neighs.empty()) continue;
th.push_back(add_and({ toLine(i, j), add_or({ neighs }) }));
}
}
add_or(th);
}
Compilation message (stderr)
# | 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... |