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

Re:为什么在这里AC,然后在ZOJ提交会出现Segmentation Fault 郁闷了!

Posted by ssqssqssq at 2015-07-17 22:39:56 on Problem 2502
In Reply To:为什么在这里AC,然后在ZOJ提交会出现Segmentation Fault 郁闷了! Posted by:Sunde at 2010-03-08 16:39:29
> #include <cstdio>
> #include <cmath>
> 
> #define MAXN 1000
> 
> const double inf = 1e99;
> using namespace std;
> 
> double g[MAXN][MAXN],x[MAXN],y[MAXN],d[MAXN];
> bool final[MAXN];
> int n;
> int main()
> {
> 	int i,j,v;
> 	double dis,min;
> 	freopen("c:\\in.txt","r",stdin);
> 
> 	for (i=0;i<MAXN;i++)
> 		for (j=0;j<MAXN;j++)
> 			g[i][j] = (i==j?0.0:inf);
> 
> 	scanf("%lf%lf%lf%lf",&x[0],&y[0],&x[1],&y[1]);
> 	n=2;
> 	while(scanf("%lf%lf",&x[n],&y[n])!=EOF)
> 	{
> 		n++;
> 		while(true)
> 		{
> 			scanf("%lf%lf",&x[n],&y[n]);
> 			if (x[n]==-1&&y[n]==-1)
> 				break;
> 			g[n-1][n] = g[n][n-1] = sqrt((x[n]-x[n-1])*(x[n]-x[n-1])+(y[n]-y[n-1])*(y[n]-y[n-1]))/40000.0*60.0;
> 			n++;
> 		}
> 	}
> 	//计算需要步行的点对
> 	for (i=0;i<n;i++)
> 		for (j=i+1;j<n;j++)
> 		{
> 			dis = sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]))/10000.0*60.0;
> 			if (dis<g[i][j])
> 				g[i][j]= g[j][i] = dis;
> 		}
> 	//Dijkstra
> 	for (i=0;i<n;i++)
> 	{
> 		final[i] = false;
> 		d[i] = g[0][i];
> 	}
> 
> 	final[0] = true;
> 	v = 0;
> 	for (i=1;i<n;i++)
> 	{
> 		min = inf;
> 		for (j=0;j<n;j++)
> 			if (!final[j]&&d[j]<min)
> 			{
> 				v = j;
> 				min = d[j];
> 			}
> 		final[v] = true;
> 		for (j=0;j<n;j++)
> 			if (!final[j]&&(min+g[v][j]<d[j]))
> 				d[j] = min+g[v][j];
> 	}
> 	printf("%d\n",int(d[1]+0.5));
>         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