Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

麻烦大家给看看 这个为什么错了啊 DIS变种 谢谢了

Posted by lyqtangjie at 2008-03-18 10:46:47 on Problem 2253
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <algorithm>
#include <iostream>
#define maxint 20000000

using namespace std;

double map[301][301];
double dis[301];
double x[301],y[301];
bool used[301];

int main()
{
	int n,k=0;
	while(scanf("%d",&n)==1&&n)
	{
		k++;
		int i,j;
		for(i=1;i<=n;i++)
			scanf("%lf%lf",&x[i],&y[i]);
		for(i=1;i<=n;i++)
			for(j=1;j<=n;j++)
			{
				if(i==j) map[i][j]=0;
				else
				{
					map[i][j]=(x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]);
				}
			}
		memset(used,false,sizeof(used));
		for(i=1;i<=n;i++)
			dis[i]=map[1][i];
		used[1]=true;
		int p;
		for(p=1;p<n;p++)
		{
			int temp=maxint;
			int u=0;
			for(j=1;j<=n;j++)
			{
				if(used[j]==false&&dis[j]<temp)
				{
					u=j;
					temp=dis[j];
				}
			}
			used[u]=true;
			for(j=1;j<=n;j++)
			{
				if(used[j]==false&&map[u][j]<maxint)
				{
					if(map[u][j]<dis[j])
						dis[j]=map[u][j];
				}
			}
		}
		printf("Scenario #%d\n",k);
		printf("Frog Distance = %.3lf\n\n",sqrt(dis[2]));
	}
	return 0;
}
		




Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator