# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
667861 | 2022-12-02T07:24:24 Z | coding_snorlax | Vision Program (IOI19_vision) | C++14 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "vision.h" using namespace std;int List1[200006]={0}; int row,column int num (int i,int j){ return i*column+j; } int dis (int i,int j,int k,int l){ return abs(i-k)+abs(j-l); } void construct_network(int H,int W,int K){ row=H; column=W; int Total=max(H,W); vector<int> s; for(int i=0;i<H;i++){ for(int j=0;j<W;j++){ s.clear(); for(int k=0;k<H;k++){ for(int l=0;l<W;l++){ if(dis(i,j,k,l)==K) s.push_back(num(k,l)); } } add_xor(s); } } vector<int> s1={0,H*W}; for(int i=0;i<H*W;i++){ add_and(s); s[0]++; s[1]++; } vector<int> s2; for(int i=0;i<H*W;i++){ s1.push_back(i+2*H*W); } add_or(s1); return; }