求出任意A点到B点 的最大距离 folyd求各点出间的距离
#include<cstdio>
#include<cstring>
#include<cmath>
double d[110][110];
double dis(int i,int j)
{
double l1 = x[i] - x[j];
double l2 = y[i] - y[j];
return sqrt(l1*l1+l2*l2);
}
int main()
{
int t,n;
int INF=-1<<20;
scanf("%d",&t);
for(int kcase = 1; kcase <= t; kcase++)
{
memset(d,-INF,sizeof(d));
scanf("%d",&n);
for(int i = 0; i < n; i++)
scanf("%lf%lf",&x[i],&y[i]);
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
d[i][j] = dis(i,j);
if(d[i][j]>10)
d[i][j] = -INF;
}
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(d[i][j] > d[i][k]+d[k][j])
{
d[i][j] = d[i][k]+d[k][j];
}
double max = -1;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(max < d[i][j])
max = d[i][j];
printf("Case #%d:\n",kcase);
if(max<-INF)
printf("%.4lf\n",max);
else
printf("Send Kurdy\n");
printf("\n");
}
return 0;
}