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 <bits/stdc++.h>
#include "vision.h"
using namespace std;
int H, W;
set <pair <int, int>> mp;
vector <int> vec;
int id(int x, int y) {
return x * W + y;
}
void construct_network(int h, int w, int K) {
mp.clear();
vec.clear();
H = h, W = w;
for(int i = 0; i < H; i++) {
for(int j = 0; j < W; j++) {
for(int k = 0; k < H; k++) {
int l = K - abs(i - k), a, b;
if(l < 0) {
continue;
}
if(j - l >= 0 and j - l < W) {
a = id(i, j), b = id(k, j - l);
if(!mp.count(make_pair(a, b))) {
mp.insert(make_pair(a, b));
mp.insert(make_pair(b, a));
vec.push_back(add_and(vector <int> ({a, b})));
}
}
if(j + l >= 0 and j + l < W) {
a = id(i, j), b = id(k, j + l);
if(!mp.count(make_pair(a, b))) {
mp.insert(make_pair(a, b));
mp.insert(make_pair(b, a));
vec.push_back(add_and(vector <int> ({a, b})));
}
}
}
}
}
add_or(vec);
}
# | 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... |