#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld double
#define FOR(i,l,r) for(int i = (l), _r = (r); i <= _r; i++)
#define FORNG(i,r,l) for(int i = (r), _l= (l); i >= _l; i--)
#define REP(i,n) for(int i = 0, _n = (n); i < _n; i++)
#define endl '\n'
#define fi first
#define se second
#define size(v) ((int)(v).size())
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define MASK(x) (1LL << (x))
#define BIT(x, i) (((x) >> (i)) & 1)
const ll MOD = 1e9 + 7, N = 1e6 + 10, LOG = 19;
const int INF = 1e9 + 36;
int n;
pair<int,int> P[N];
namespace sub12{
void solve(){
REP(mask,MASK(n)){
if(!mask)continue;
bool ok = 1;
REP(i,n){
if(!BIT(mask,i)){
int l = INF, r = -INF;
int u = INF, v = -INF;
REP(j,n)if(BIT(mask, j)){
if(P[j].se == P[i].se)l = min(l, P[j].fi),r = max(r, P[j].fi);
if(P[j].fi == P[i].fi)u = min(u, P[j].se),v = max(v, P[j].se);
}
if(!((l <= P[i].fi && P[i].fi <= r) || (u <= P[i].se && P[i].se <= v))){
ok = 0;
break;
}
}else{
int cnt = 0;
REP(j,n)if(BIT(mask, j) && P[j].fi == P[i].fi)cnt++;
if(cnt > 2){
ok = 0;
break;
}
cnt = 0;
REP(j,n)if(BIT(mask, j) && P[j].se == P[i].se)cnt++;
if(cnt > 2){
ok = 0;
break;
}
}
}
if(ok){
REP(t,n)cout<<BIT(mask, t);
return;
}
}
}
}
vector<int> col[N];
bool mark[N], markCol[N];
int main(){
// freopen("SLAMP.INP", "r", stdin);
// freopen("SLAMP.OUT", "w", stdout);
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n;
REP(i,n)cin>>P[i].fi>>P[i].se;
if(n <= 16){
sub12::solve();
return 0;
}
REP(i,n)col[P[i].se].pb(i);
FOR(i,1,(int)1e6)if(size(col[i])){
sort(all(col[i]));
mark[col[i][0]] = 1;
mark[col[i].back()] = 1;
}
REP(i,n)cout<<mark[i];
}
| # | 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... |