站外题
查看原帖
站外题
993175
a_gold_TomAndJerry楼主2024/4/27 20:25

代码:

#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分求助

2024/4/27 20:25
加载中...