用的bfs写的,求助为什么只有10分啊??
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
int n;
int mp[205][205];
bool vis[1005];
int x[1005],y[1005],p[1005];
int maxn,ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i]>>p[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
int tmp=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
if(tmp<=p[i]){
mp[i][j]=1;
}
if(tmp<=p[j]){
mp[j][i]=1;
}
}
}
for(int i=1;i<=n;i++){
memset(vis,0,sizeof vis);
queue<int> q;
q.push(i);
vis[i]=1;
while(!q.empty()){
int tmp=q.front();
q.pop();
for(int j=1;j<=n;j++){
if(mp[tmp][j]==1&&!vis[j]){
maxn++;
vis[j]=1;
q.push(j);
}
}
}
ans=max(ans,maxn);
maxn=0;
}
cout<<ans;
return 0;
}