Submission #166198

#TimeUsernameProblemLanguageResultExecution timeMemory
166198lukameladzeVision Program (IOI19_vision)C++14
100 / 100
80 ms5984 KiB
# include <bits/stdc++.h> # include "vision.h" using namespace std; int ans(int H, int W, int K) { vector<int >d1[500],d2[500],x1,x2,y11,y2,xx1,xx2,yy1,yy2,v,vv,v1; for (int i=0; i<H; i++) { for (int j=0; j<W; j++) { d1[i+j].push_back(i*W+j); d2[i-j+W-1].push_back(i*W+j); } } for (int i=0; i<H+W-1; i++) { x1.push_back(add_or(d1[i])); y11.push_back(add_or(d2[i])); x2.push_back(add_or(x1)); y2.push_back(add_or(y11)); if (i>=K) { v.push_back(add_and({x1[i],x2[i-K]})); v.push_back(add_and({y11[i],y2[i-K]})); } } for (int i=0; i<H+W-1; i++) { xx1.push_back(add_or(d1[i])); yy1.push_back(add_or(d2[i])); xx2.push_back(add_or(xx1)); yy2.push_back(add_or(yy1)); if (i>=K+1) { vv.push_back(add_and({xx1[i],xx2[i-K-1]})); vv.push_back(add_and({yy1[i],yy2[i-K-1]})); } } if(H+W-2<=K) return add_or(v); else return add_xor({add_or(v), add_or(vv)}); } void construct_network(int H, int W, int K) { ans(H,W,K); }
#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...