#include using namespace std; #define rep(i,a,b) for(int i=a;i<(b);++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair pii; typedef vector vi; #define pb push_back #define ff first #define ss second bool find(int j, vector& g, vi& btoa, vi& vis){ if(btoa[j]==-1)return 1; vis[j] = 1; int di = btoa[j]; for(int e:g[di]) if(!vis[e] && find(e,g,btoa,vis)){ btoa[e]=di; return 1; } return 0; } int dfsMatching(vector& g, vi& btoa){ vi vis; rep(i,0,sz(g)) { vis.assign(sz(btoa),0); for(int j:g[i]) if(find(j,g,btoa,vis)){ btoa[j]= i; break; } } return sz(btoa) - (int)count(all(btoa), -1); } vectorvis(1005,false); vectorcor(1005,-1); ll count1=0,count2=0; bool ok = true; void dfs(ll node, ll p, vector>& adj,ll color){ cor[node]=color; if(color==1)count1++; if(color==2)count2++; vis[node]=true; for(auto u:adj[node]){ if(u==p)continue; if(vis[u]&&cor[u]==cor[node]){ ok = false; } if(vis[u])continue; if(color==1)dfs(u,node,adj,2); if(color==2)dfs(u,node,adj,1); } } void solve(){ ll n; cin>>n; vector x(n), y(n), r(n); rep(i,0,n){ cin>>x[i]>>y[i]>>r[i]; } vector adj(n, vector()); rep(i,0,n){ rep(j, i+1, n){ ll raio=r[i]+r[j]; raio*=raio; ll a=abs(x[i]-x[j]); ll b=abs(y[i]-y[j]); a*=a; b*=b; if(raio==a+b){ adj[i].pb(j); adj[j].pb(i); } } } rep(i,0,n){ if(vis[i])continue; count1=0; count2=0; ok=true; dfs(i,-1,adj,1); if(!ok){ ok=true; continue; } if(count1!=count2){ cout<<"YES\n"; return; } } cout<<"NO\n"; /* vector cor(n, -1); ll bip=1; auto dfs=[&](auto && self, int s)->void{ for(auto u: adj[s]){ if(cor[u]==cor[s]){ bip=0; return; } if(cor[u]==-1){ cor[u]==1-cor[s]; self(self, u); } } }; rep(i,0,n){ if(cor[i]==-1 && bip){ cor[i]=0; dfs(dfs, i); } } if(!bip){ cout<<"NO\n"; return; } ll m0=0, m1=0; vector novo(n); rep(i,0,n){ if(cor[i]){ novo[i]=m1; m1++; }else{ novo[i]=m2; m2++; } } vi btoa(m1, -1); vector g(m0); rep(i,0,n){ if(cor[i]==0){ for(ll u: adj[i]) g[novo[i]].pb(novo[u]); } } ll ans=dfsMatching(g, btoa); if(2*ans==n);*/ } int main(){ cin.tie(0); ios_base::sync_with_stdio(0); cout<