代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=5*1e4+10;
int n,f[maxn],num=0;
struct node{int x;int y;int r;}q[maxn];
int main(){
memset(f,0,sizeof(f));
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d%d",&q[i].x,&q[i].y,&q[i].r);
for(int i=1;i<=n;i++){
if(!f[i]) num++;
for(int j=i+1;j<=n;j++){
if(f[j]) continue;
int d=abs(sqrt((q[j].x-q[i].x)*(q[j].x-q[i].x)+(q[j].y-q[i].y)*(q[j].y-q[i].y)));
if(d<=(q[i].r+q[j].r)) f[j]=1;
}
}
cout<<num<<endl;
return 0;
}
20分求助