Submission #1067109

#TimeUsernameProblemLanguageResultExecution timeMemory
1067109new_accVision Program (IOI19_vision)C++14
100 / 100
31 ms3164 KiB
#include "vision.h" #include<bits/stdc++.h> #define fi first #define se second using namespace std; typedef vector<int> vi; const int N=201; int t[N][N]; void construct_network(int h, int w, int k) { vi k1; int li=0; for(int i=0;i<h;i++){ for(int i2=0;i2<w;i2++){ t[i][i2]=li++; } } for(int i=0;i<=h+w-2;i++){ vi curr; for(int i2=0;i2<h;i2++){ for(int i3=0;i3<w;i3++){ if(i2+i3==i) curr.push_back(t[i2][i3]); } } if(k1.size()) curr.push_back(k1.back()); //for(auto u:curr) cout<<u<<" "; //cout<<"\n"; k1.push_back(add_xor(curr)); } vi k2; for(int i=-w+1;i<h;i++){ vi curr; for(int i2=0;i2<h;i2++){ for(int i3=0;i3<w;i3++){ if(i2-i3==i) curr.push_back(t[i2][i3]); } } if(k2.size()) curr.push_back(k2.back()); k2.push_back(add_xor(curr)); } vi k3; for(int i=k-1;i<(int)k1.size();i++){ vi curr; for(int i2=i;i2>=i-k+1;i2--) curr.push_back(k1[i2]); int xd=add_and(curr); if(k3.size()) k3.push_back(add_or({xd,k3.back()})); else k3.push_back(xd); } for(int i=k-1;i<(int)k2.size();i++){ vi curr; for(int i2=i;i2>=i-k+1;i2--) curr.push_back(k2[i2]); int xd=add_and(curr); if(k3.size()) k3.push_back(add_or({xd,k3.back()})); else k3.push_back(xd); } int ost=k3.back(); for(int i=k;i<(int)k1.size();i++){ vi curr; for(int i2=i;i2>=i-k;i2--) curr.push_back(k1[i2]); int xd=add_and(curr); xd=add_not(xd); ost=add_and({xd,ost}); } for(int i=k;i<(int)k2.size();i++){ vi curr; for(int i2=i;i2>=i-k;i2--) curr.push_back(k2[i2]); int xd=add_and(curr); xd=add_not(xd); ost=add_and({xd,ost}); } }
#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...