#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |