제출 #1233795

#제출 시각아이디문제언어결과실행 시간메모리
1233795veehjVision Program (IOI19_vision)C++17
0 / 100
3 ms760 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define fi first #define se second #define pb push_back #define sz(a) (ll) a.size() #define all(x) (x).begin(), (x).end() #define rep(i, a, b) for(ll i=(ll)(a); i<(ll)(b); i++) #define rrep(i, a, b) for(ll i=(ll)(a); i>=(ll)(b); i--) #define vl vector<ll> #define vpll vector<pair<ll, ll>> #define vvl vector<vector<ll>> #define pll pair<ll, ll> vector<int> dy={0, 0, -1, 1}, dx={-1, 1, 0, 0}; void construct_network(int h, int w, int k) { vector<int> v, Ns; for(int i=0; i<h*w; i+=2){ v.pb(i); } ll l=0, r=sz(v); int ret=add_xor(v); if(ret==0){ return; } while(l!=r){ ll mid=(l+r)>>1; Ns={}; rep(i, l, mid+1){ Ns.pb(v[i]); } int ret=add_or(Ns); if(ret)r=mid; else l=mid+1; } Ns={}; for(int i=0; i<4; i++){ int r=v[l]%w, c=v[l]/w; if(((r+dx[i])+(c+dy[i])*w) < h*w && ((r+dx[i])+(c+dy[i])*w) >= 0){ Ns.pb((r+dx[i])+(c+dy[i])*w); } } add_xor(Ns); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...