Submission #1206700

#TimeUsernameProblemLanguageResultExecution timeMemory
1206700thelegendary08Vision Program (IOI19_vision)C++17
0 / 100
5 ms1092 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...