# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
370363 | 2021-02-23T21:41:39 Z | MilosMilutinovic | Vision Program (IOI19_vision) | C++14 | 0 ms | 0 KB |
#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]); }