Submission #1246174

#TimeUsernameProblemLanguageResultExecution timeMemory
1246174ricardsjansonsVision Program (IOI19_vision)C++20
0 / 100
11 ms1864 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; int h,w,k; int fpt(int x,int y){ return y*w+x; } void construct_network(int H, int W, int K) { h=H; w=W; k=K; int cor[w],cnx[w],ror[h],rnx[h]; for(int i=0;i<w;i++){ vector<int>ns; for(int j=0;j<h;j++){ ns.push_back(fpt(i,j)); } cor[i]=add_or(ns); cnx[i]=add_not(add_xor(ns)); } for(int i=0;i<h;i++){ vector<int>ns; for(int j=0;j<w;j++){ ns.push_back(fpt(j,i)); } ror[i]=add_or(ns); rnx[i]=add_not(add_xor(ns)); } vector<int>r; for(int dx=0;dx<=k;dx++){ int dy=k-dx; vector<int>a1; for(int i=0;i+dx<w;i++){ vector<int>ns{cor[i],cor[i+dx]}; if(!dx){ ns.push_back(cnx[i]); } a1.push_back(add_and(ns)); } vector<int>a2; for(int j=0;j+dy<h;j++){ vector<int>ns{ror[j],ror[j+dy]}; if(!dy){ ns.push_back(rnx[j]); } a2.push_back(add_and(ns)); } vector<int>b; if(dx){ b.push_back(add_or(a1)); } if(dy){ b.push_back(add_or(a2)); } r.push_back(add_and(b)); } add_or(r); }
#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...