Submission #166209

#TimeUsernameProblemLanguageResultExecution timeMemory
166209lukameladzeVision Program (IOI19_vision)C++14
0 / 100
18 ms1912 KiB
#include<bits/stdc++.h> using namespace std; #include "vision.h" int j,i,iL[500],iR[500],bR[500],bL[500]; vector<int> ansVec,V,Dr[500],Dl[500],V1; int getans(int h,int w,int k){ 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){ for(i=0;i<H;i++) for(j=0;j<W;j++){ Dr[i-j+W-1].push_back(i*W+j); Dl[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(); } int ans1=getans(H,W,K); if(K<W+H-2) { int ans2=getans(H,W,K+1); V1.push_back(ans1); V1.push_back(ans2); add_xor(V1); } }
#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...