标签:define bsp include cst 更新 int div ring style
#include <cstdio> #include <iostream> #include <cmath> #include <cstdlib> #include <cstring> #define _for(i,a,b) for(int i= a;i<b;i++) using namespace std; const int N = 1e3+5; typedef long long ll; int flag[N],f[N]; int n,d; struct Node{ int x,y; }a[N]; int find( int x ){ if( f[x]==x ) return x; return f[x]=find( f[x] ); } int merge(int x,int y){ if( find(x)!= find(y) ){ f[find(x)] = find(y); } } inline double dis(int x1,int y1,int x2,int y2){ return sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ); } int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>d; _for(i,1,n+1) cin>>a[i].x>>a[i].y , f[i]=i; char c; while(cin>>c){ int j,k; if(c==‘O‘){ cin>>j; flag[j] = 1; _for(i,1,n+1){ if( i == j) continue; if(flag[i] && dis( a[i].x,a[i].y,a[j].x,a[j].y ) <= d ){ merge( i,j ); } } }else if( c==‘S‘){ cin>>j>>k; if( flag[j] && flag[k] &&find(j)==find(k) ){ cout<<"SUCCESS"<<endl; } else cout<<"FAIL"<<endl; } } return 0; }
标签:define bsp include cst 更新 int div ring style
原文地址:https://www.cnblogs.com/SunChuangYu/p/12495109.html