Submission #430081

#TimeUsernameProblemLanguageResultExecution timeMemory
430081HazemVision Program (IOI19_vision)C++14
47 / 100
11 ms1100 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void solvefor1(int H,int W,int K){ int cnt = 0; for(int i=0;i<H;i++) for(int j=0;j<W;j++) for(int i1=0;i1<H;i1++) for(int j1=0;j1<W;j1++) if(abs(i-i1)+abs(j-j1)==K){ vector<int>vec; vec.push_back(i*W+j); vec.push_back(i1*W+j1); add_and(vec); cnt++; } vector<int>vec; for(int i=H*W;i<H*W+cnt;i++) vec.push_back(i); add_or(vec); } void construct_network(int H, int W, int K) { if(H==1||W==1||(H<=30&&W<=30)){ solvefor1(H,W,K); return ; } int cnt = W*H; for(int i=0;i<H;i++){ vector<int>vec; for(int j=0;j<W;j++) vec.push_back(i*W+j); add_or(vec); cnt++; } for(int i=0;i<H-1;i++){ vector<int>vec; vec.push_back(H*W+i); vec.push_back(H*W+i+1); add_and(vec); cnt++; } vector<int>vec1; for(int i=0;i<H-1;i++) vec1.push_back(H*W+H+i); add_or(vec1);cnt++; vec1.clear(); for(int i=0;i<W;i++){ vector<int>vec; for(int j=0;j<H;j++) vec.push_back(j*W+i); add_or(vec); cnt++; } for(int i=0;i<W-1;i++){ vector<int>vec; vec.push_back(H*W+H*2+i); vec.push_back(H*W+H*2+i+1); add_and(vec); cnt++; } for(int i=0;i<W-1;i++) vec1.push_back(H*W+H*2+W+i); add_or(vec1);cnt++; vec1.clear(); for(int i=0;i<H;i++) vec1.push_back(H*W+i); add_xor(vec1); vec1.clear(); for(int i=0;i<W;i++) vec1.push_back(H*W+H*2+i); add_xor(vec1);vec1.clear(); vec1.push_back(H*W+2*H+2*W); vec1.push_back(H*W+2*H+W+W-1); add_and(vec1); vec1.clear(); vec1.push_back(H*W+2*H+2*W+1); vec1.push_back(H*W+2*H-1); add_and(vec1); vec1.clear(); vec1.push_back(H*W+2*H+2*W+2); vec1.push_back(H*W+2*H+2*W+3); add_or(vec1); }
#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...