제출 #166226

#제출 시각아이디문제언어결과실행 시간메모리
166226keta_tsimakuridzeVision Program (IOI19_vision)C++14
100 / 100
24 ms2808 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; int getans(int H,int W,int K) { int j,i,iL[500],iR[500],bR[500],bL[500]; vector<int> ansVec,V,Dr[500],Dl[500]; for(i=0;i<H;i++) for(j=0;j<W;j++){ Dl[i-j+W-1].push_back(i*W+j); Dr[i+j].push_back(i*W+j); } iL[0]=add_or(Dl[0]); iR[0]=add_or(Dr[0]); bL[0]=add_or(Dl[0]); bR[0]=add_or(Dr[0]); for(i=1;i<H+W-1;i++){ iL[i]=add_or(Dl[i]); iR[i]=add_or(Dr[i]); V.push_back(iL[i]); V.push_back(bL[i-1]); bL[i]=add_or(V); V.clear(); V.push_back(iR[i]); V.push_back(bR[i-1]); bR[i]=add_or(V); V.clear(); } for(int i=K;i<W+H-1;i++){ V.push_back(bL[i-K]); V.push_back(iL[i]); ansVec.push_back(add_and(V)); V.clear(); V.push_back(bR[i-K]); V.push_back(iR[i]); ansVec.push_back(add_and(V)); V.clear(); } return add_or(ansVec); } void construct_network(int H,int W,int K){ vector<int> V; int ans1=getans(H,W,K); if(K<W+H-2){ int ans2=getans(H,W,K+1); V.push_back(ans1); V.push_back(ans2); add_xor(V); } }
#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...