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<iostream>
#include<vector>
#include "vision.h"
using namespace std;
static int diag[405];
static vector<int> v, w;
static void solve(int &r1, int &r2, int nr, int k){
int i, x, aux, j, y;
for(i = 1; i <= nr - k; i++){
v.push_back(diag[i]);
v.push_back(diag[i + k]);
x = add_and(v);
w.push_back(x);
v.clear();
}
r2 = add_or(w);
w.clear();
for(i = 1; i <= k; i++){
v.push_back(diag[i]);
}
aux = add_xor(v);
v.clear();
for(i = 1; i <= nr - k; i++){
for(j = i; j <= i + k; j++){
v.push_back(diag[j]);
}
y = add_xor(v);
y = add_not(y);
x = add_or(v);
v.clear();
v.push_back(x);
v.push_back(y);
w.push_back( add_and(v) );
v.clear();
}
r1 = add_or(w);
w.clear();
v.push_back(r1);
v.push_back(aux);
r1 = add_or(v);
v.clear();
}
void construct_network(int n, int m, int k) {
int i, j, ii, jj, nr, r1, r2, r3, r4;
nr = 0;
for(i = n - 1; i > 0; i--){
ii = i;
jj = 0;
while(ii < n && jj < m){
v.push_back(ii * m + jj);
ii++;
jj++;
}
diag[++nr] = add_or(v);
v.clear();
}
for(j = 0; j < m; j++){
ii = 0;
jj = j;
while(ii < n && jj < m){
v.push_back(ii * m + jj);
ii++;
jj++;
}
diag[++nr] = add_or(v);
v.clear();
}
solve(r1, r2, nr, k);
nr = 0;
for(i = n - 1; i > 0; i--){
ii = i;
jj = m - 1;
while(ii < n && jj >= 0){
v.push_back(ii * m + jj);
ii++;
jj--;
}
diag[++nr] = add_or(v);
v.clear();
}
for(j = m - 1; j >= 0; j--){
ii = 0;
jj = j;
while(ii < n && jj >= 0){
v.push_back(ii * m + jj);
ii++;
jj--;
}
diag[++nr] = add_or(v);
v.clear();
}
solve(r3, r4, nr, k);
v.push_back(r1);
v.push_back(r3);
r1 = add_and(v);
v.clear();
v.push_back(r2);
v.push_back(r4);
r2 = add_or(v);
v.clear();
v.push_back(r1);
v.push_back(r2);
add_and(v);
}
# | 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... |