# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
147399 | 2019-08-29T12:56:38 Z | Nucleist | Vision Program (IOI19_vision) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "vision.h" using namespace std; #define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define debug(x) cerr << " - " << #x << ": " << x << endl; #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl; #define all(x) (x).begin(),(x).end() #define sz(x) (ll)x.size() #define ll long long #define INF 1000000000 #define pb push_back struct greateri { template<class T> bool operator()(T const &a, T const &b) const { return a > b; } }; void construct_network(int H,int W,int K) { //flash; vector<int>zeros; for (int i = 0; i < W; ++i) { for (int j = 0; j < H; ++j) { int cell=i*W+j; zeros.pb(cell); } } int last=H*W; for (int i = 0; i < W; ++i) { for (int j = 0; j < H; ++j) { for (int k = i+1; k < W; ++k) { for (int c = j+1; c < H; ++c) { vector<int>now; int cell1=i*W+j; int cell2=k*W+c; now.pb(cell1),now.pb(cell2); add_and(now); if(abs(i-k)+abs(j-c) == K) add_or(zeros); else add_and(zeros); last+=2; } } } } int last1=last; last--; vector<int>lasti; for (int i = W*H; i < last1; i+=2) { add_and(i,i+1); lasti.pb(last); last++; } add_not(add_xor(lasti)); return; } //code the AC sol ! // BS/queue/map