# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
282758 | 2020-08-24T21:49:05 Z | medmdg | Vision Program (IOI19_vision) | C++14 | 0 ms | 0 KB |
#include "vision.h" #include<bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K){ int l=0; int r=W*H-1; int m=l+r; m/=2; while(l<=r){ int a[m]; for(int i=0;i<=m;i++){ a[i]=i; } bool d=add_or(a); if(d){ if(add_not(m)==0){ break; } r=m-1; m=l+r; m/=2; continue; } l=m+1; m=l+r; m/=2; } int x=m%W; int y=m/W; for(int i=0;i<H*W;i++){ int xx=i%W; int yy=i/W; if(abs(xx-x)+abs(yy-y)==K){ if(add_not(i)==0){ int k[1]={i}; add_or(k); return; } } } add_not(m); }