0Pts 求助
查看原帖
0Pts 求助
996474
happy_banana楼主2025/7/26 10:04
#include<bits/stdc++.h>
using namespace std;
int n,f[300][300],w;
struct node{
	int x,y,w;
}a[300];
inline double L(node a,node b){
	return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y+b.y));
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i].x>>a[i].y>>a[i].w;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(L(a[i],a[j])<=a[i].w) f[i][j]=1;
	for(int k=1;k<=n;k++)		
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++) 	
				if(i!=j&&j!=k&&i!=k&&f[i][k]&&f[k][j]) f[i][j]=1;
	int ans=-1,sum;
	for(int i=1;i<=n;i++){
		sum=0;
		for(int j=1;j<=n;j++)
			sum+=f[i][j];
		ans=max(ans,sum);
	}
	cout<<ans;
	return 0;
}

2025/7/26 10:04
加载中...