#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
void construct_network( int n, int m, int k ){
auto id = [&]( int i, int j ){ return i*m + j; };
vector<int> c, d;
int a, b;
vector<int> or1, or2, xor1, xor2;
for( int x = 0; x < n + m - 1; x++ ){
vector<int> v;
for( int i = 0; i < n; i++ ) for( int j = 0; j < m; j++ ) if( i + j == x ) v.push_back(id(i, j));
or1.push_back(add_or(v));
xor1.push_back(add_xor(v));
}
for( int x = 1 - m; x < n; x++ ){
vector<int> v;
for( int i = 0; i < n; i++ ) for( int j = 0; j < m; j++ ) if( i - j == x ) v.push_back(id(i, j));
or2.push_back(add_or(v));
xor2.push_back(add_xor(v));
}
vector<int> v;
for( int i = 0; i + k < n + m - 1; i++ ){
vector<int> aux = {or1[i], or1[i + k]};
v.push_back(add_and(aux));
}
a = add_xor(v);
v.clear();
for( int i = 0; i + k < n + m - 1; i++ ){
vector<int> aux = {or2[i], or2[i + k] };
v.push_back(add_and(aux));
}
b = add_xor(v);
for( int i = 0; i + k - 1 < n + m - 1; i++ ){
vector<int> aux, aux2;
for( int j = i; j < i + k; j++ ) aux.push_back(or1[j]), aux2.push_back(xor1[j]);
int x = add_xor(aux2), y = add_or(aux);
x = add_not(x);
aux = {x, y};
c.push_back(add_and(aux));
aux.clear();
aux2.clear();
for( int j = i; j < i + k; j++ ) aux.push_back(or2[j]), aux2.push_back(xor2[j]);
x = add_xor(aux2); y = add_or(aux);
x = add_not(x);
aux = {x, y};
d.push_back(add_and(aux));
}
vector<int> aux;
int C = add_or(c);
int D = add_or(d);
aux = {a, D};
int e = add_and(aux);
aux = {b, C};
int f = add_and(aux);
aux = {a, b};
int g = add_and(aux);
aux = { e, f, g };
add_or(aux);
}
# | 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... |