제출 #622990

#제출 시각아이디문제언어결과실행 시간메모리
622990AbdelmagedNourVision Program (IOI19_vision)C++17
0 / 100
16 ms1360 KiB
#include<bits/stdc++.h> using namespace std; #include "vision.h" int cnt[5],one,zero; void init(){ zero=add_and({0,1,2}); one=add_not(zero); for(int i=0;i<5;i++)cnt[i]=zero; } void add(int x){ int cur=x,carry=zero; for(int i=0;i<5;i++){ carry=add_and({cur,cnt[i]}); cnt[i]=add_xor({cur,cnt[i]}); cur=carry; } } void construct_network(int H, int W, int K) { if(H*W==2){ if(K!=1)add_not(0); return; } init(); int last=zero; for(int i=0;i<H;i++){ vector<int>Ns={last}; for(int j=0;j<W;j++)Ns.push_back(i*W+j); last=add_xor(Ns); add(last); } last=zero; for(int i=0;i<W;i++){ vector<int>Ns={last}; for(int j=0;j<H;j++)Ns.push_back(j*W+i); last=add_xor(Ns); add(last); } vector<int>Ns(5); for(int i=0;i<5;i++){ Ns[i]=add_not(add_xor({cnt[i],((K>>i)&1?one:zero)})); } add_and(Ns); }
#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...