Submission #1246105

#TimeUsernameProblemLanguageResultExecution timeMemory
1246105ricardsjansonsVision Program (IOI19_vision)C++20
0 / 100
2 ms1728 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; } int fc(int c){ return w*h+2*c-1; } int fcx(int c){ return w*h+2*c; } int fr(int r){ return w*h+2*w+2*r-1; } int frx(int r){ return w*h+2*w+2*r; } void construct_network(int H, int W, int K) { h=H; w=W; k=K; for(int i=0;i<w;i++){ vector<int>ns; for(int j=0;j<h;j++){ ns.push_back(fpt(i,j)); } add_or(ns); 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)); } add_or(ns); add_xor(ns); } vector<int>c; for(int dx=0;dx<=k;dx++){ int dy=k-dx; for(int i=0;i+dx<w;i++){ for(int j=0;j+dy<h;j++){ vector<int>n1{fc(i),fc(i+dx),fr(j),fr(j+dy)}; if(dx==0){ n1.push_back(add_not(fcx(i))); } if(dy==0){ n1.push_back(add_not(frx(j))); } c.push_back(add_and(n1)); } } } add_or(c); }
#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...