| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么老是WR呀 哪位大牛指点一下!#include<stdio.h>
#include<math.h>
void main()
{
int size,S,P,i,j,k;
int X[500],Y[500],outpost[500];
int flag[500];
float dist[500][500],result[500],temp;
scanf("%d",&size);
while(size>0)
{
scanf("%d %d",&S,&P);
for(i=0;i<P;i++)
scanf("%d %d",&X[i],&Y[i]);
for(i=0;i<P;i++)
for(j=0;j<=i;j++)
{
dist[i][j]=0;
dist[j][i]=0;
}
for(i=0;i<P;i++)
{
for(j=0;j<=i;j++)
{
if(i==j)
dist[i][j]=0;
else
{
dist[i][j]=sqrt( (X[i]-X[j])*(X[i]-X[j]) + (Y[i]-Y[j])*(Y[i]-Y[j]) );
dist[j][i]=dist[i][j];
}
}
flag[i]=0;
}
outpost[0]=0;
result[0]=0;
flag[0]=1;
k=1;
do
{
for(j=0,result[k]=30000;j<k;j++)
for(i=0;i<P;i++)
if(flag[i]==0 && result[k]>dist[j][i] )
{
result[k]=dist[j][i];
outpost[k]=i;
}
flag[outpost[k]]=1;
k++;
}while(k<P);
for(i=1;i<P-1;i++)
for(j=i+1;j<P;j++)
if(result[i]<result[j])
{
temp=result[i];
result[i]=result[j];
result[j]=temp;
}
printf("%.2f\n",result[S]);
//for(i=1;i<P;i++)
// printf("%.2f\n",result[i]);
size--;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator