# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
370363 | MilosMilutinovic | Vision Program (IOI19_vision) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
#define pb push_back
void construct_network(int H,int W,int K){
int sz=H+W-2;
vector<int> x[sz],y[sz];
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
x[i+j].pb(i*W+j);
y[i+W-j-1].pb(i*W+j);
}
}
vector<int> d[5];
for(int i=0;i<=sz;i++){
d[0].pb(add_or(x[i]));
d[1].pb(add_or(y[i]));
d[2].pb(add_or(d[0]));
d[3].pb(add_or(d[1]));
if(i>K){
d[4].pb(add_and({d[0][i],d[2][i-K]}));
d[4].pb(add_and({d[1][i],d[3][i-K]}));
}
}
return add_or(d[4]);
}