제출 #974711

#제출 시각아이디문제언어결과실행 시간메모리
974711NemanjaSo2005Vision Program (IOI19_vision)C++17
14 / 100
17 ms2164 KiB
#include "vision.h" #include<bits/stdc++.h> #define ll long long using namespace std; int N,M,K,rxor[205],cxor[205],ror[205],cor[205]; vector<int> bigor; int getbit(int x,int y){ return (x-1)*M+(y-1); } void construct_network(int h, int w, int k){ N=h; M=w; K=k; int aaa=add_or({0}); int bbb=add_not({aaa}); int zero=add_and({aaa,bbb}); for(int i=1;i<=N;i++){ vector<int> A; for(int j=1;j<=M;j++) A.push_back(getbit(i,j)); rxor[i]=add_xor(A); ror[i]=add_or(A); } for(int j=1;j<=M;j++){ vector<int> A; for(int i=1;i<=N;i++) A.push_back(getbit(i,j)); cxor[j]=add_xor(A); cor[j]=add_or(A); } vector<int> rx,cx; for(int i=1;i<=N;i++) rx.push_back(ror[i]); int brr=add_xor(rx); for(int i=1;i<=M;i++) cx.push_back(cor[i]); int brc=add_xor(cx); vector<int> ra,ca; for(int i=2;i<=N;i++){ ra.push_back(add_and({rxor[i],rxor[i-1]})); } int in2r; if(ra.size()==0) in2r=add_or({zero}); else in2r=add_or(ra); for(int i=2;i<=M;i++){ ca.push_back(add_and({cxor[i],cxor[i-1]})); } int in2c; if(ca.size()==0) in2c=add_or({zero}); else in2c=add_or(ca); int u1=add_and({in2c,brr}); int u2=add_and({in2r,brc}); add_or({u1,u2}); }
#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...