#include "vision.h"
#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define f0r(i,n) for(int i = 0; i<n; i++)
#define FOR(i, k, n) for(int i =k; i<n; i++)
#define vi vector<int>
#define pii pair<int,int>
#define vvi vector<vector<int>>
#define vb vector<bool>
#define vpii vector<pii>
#define mii map<int,int>
#define dout(x) cout<<x<<' '<<#x<<endl;
#define vout(x) for(auto u : x)cout<<u<<' '; cout<<endl;
#define out(x) cout<<x<<endl;
#define out2(x,y) cout<<x<<' '<<y<<endl;
using namespace std;
void construct_network(int H, int W, int K) {
/*
vi dexes;
f0r(i, 1){
f0r(j, 1){
f0r(k, H){
f0r(l, W){
if(abs(i - k) + abs(j - l) == K && i * W + j < k * W + l){
vi quer;
quer.pb(i*W+j);
quer.pb(k*W+l);
int a = add_and(quer);
dexes.pb(a);
}
}
}
}
}
add_or(dexes);
*/
vi hor;
vi ver;
f0r(i, H){
vi quer;
f0r(j, W){
quer.pb(i*W+j);
}
int a = add_or(quer);
hor.pb(a);
}
f0r(i, W){
vi quer;
f0r(j, H){
quer.pb(j*W+i);
}
int a = add_or(quer);
ver.pb(a);
}
vi fin;
for(int i = 1; i<K; i++){
//i, K-i
if(i < H && K - i < W){
vi hh;
for(int j = 0; j < H - i; j++){
vi quer;
quer.pb(hor[j]);
quer.pb(hor[j + i]);
int a = add_and(quer);
hh.pb(a);
}
int hashor = add_or(hh);
vi vv;
for(int j = 0; j<W-i; j++){
vi quer;
quer.pb(ver[j]);
quer.pb(ver[j + K - i]);
int a = add_and(quer);
vv.pb(a);
}
int hasver = add_or(vv);
int b = add_and({hashor, hasver});
fin.pb(b);
}
}
if(K < W){
vi quer;
f0r(i, H){
quer.pb(hor[i]);
}
int a = add_xor(quer);
int b = add_not(a);
vi hh;
for(int i = 0; i < W - K; i++){
vi quer;
quer.pb(hor[i]);
quer.pb(hor[i + K]);
int a = add_and(quer);
hh.pb(a);
}
int c = add_or(hh);
int d = add_and({b, c});
fin.pb(d);
}
if(K < H){
vi quer;
f0r(i, W){
quer.pb(ver[i]);
}
int a = add_xor(quer);
int b = add_not(a);
vi hh;
for(int i = 0; i < H - K; i++){
vi quer;
quer.pb(ver[i]);
quer.pb(ver[i + K]);
int a = add_and(quer);
hh.pb(a);
}
int c = add_or(hh);
int d = add_and({b, c});
fin.pb(d);
}
add_or(fin);
/*
std::vector<int> Ns;
Ns = {0, 1};
int a = add_and(Ns);
Ns = {0, a};
int b = add_or(Ns);
Ns = {0, 1, b};
int c = add_xor(Ns);
add_not(c);
*/
}
# | 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... |