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>;
using ii = pair <ll, ll>;
using vii = vector <ii>;
const ll MAXN = 500;
vll wh1[MAXN], wh2[MAXN];
void construct_network (int h, int w, int k) {
auto toLine = [&](ll i, ll j) { return 0 <= i && i < h && 0 <= j && j < w ? i*w+j : -16; };
fill(wh1, wh1+MAXN, vll({}));
fill(wh2, wh2+MAXN, vll({}));
for (ll i = 0; i < h; i++) {
for (ll j = 0; j < w; j++) {
wh1[i+j].push_back(toLine(i, j));
wh2[j+h-1-i].push_back(toLine(i, j));
}
}
vi diag1, diag2;
for (ll i = 0; i < h+w-1; i++) {
diag1.push_back(add_or(vi(wh1[i].begin(), wh1[i].end())));
diag2.push_back(add_or(vi(wh2[i].begin(), wh2[i].end())));
}
vi cons1, cons2;
for (ll i = 1; i < diag1.size(); i++) {
cons1.push_back(add_and({ diag1[i-1], diag1[i] }));
cons2.push_back(add_and({ diag2[i-1], diag2[i] }));
}
ll anyCons1 = add_or(cons1);
ll anyCons2 = add_or(cons2);
add_and({ anyCons1, anyCons2 });
}
Compilation message (stderr)
vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:29:22: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
29 | for (ll i = 1; i < diag1.size(); i++) {
| ~~^~~~~~~~~~~~~~
vision.cpp:35:15: warning: narrowing conversion of 'anyCons1' from 'll' {aka 'long long int'} to 'int' [-Wnarrowing]
35 | add_and({ anyCons1, anyCons2 });
| ^~~~~~~~
vision.cpp:35:15: warning: narrowing conversion of 'anyCons1' from 'll' {aka 'long long int'} to 'int' [-Wnarrowing]
vision.cpp:35:25: warning: narrowing conversion of 'anyCons2' from 'll' {aka 'long long int'} to 'int' [-Wnarrowing]
35 | add_and({ anyCons1, anyCons2 });
| ^~~~~~~~
vision.cpp:35:25: warning: narrowing conversion of 'anyCons2' from 'll' {aka 'long long int'} to 'int' [-Wnarrowing]
# | 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... |