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:为什么wa?

Posted by 200892458 at 2009-05-19 21:15:46 on Problem 3268
In Reply To:为什么wa? Posted by:200892458 at 2009-05-19 21:15:32
> #include<iostream>
> #include<memory>
> using namespace std;
> const int int_max=INT_MAX/2;
> bool found[1002];
> int dist[2][1002];
> int cost[2][1002][1002];
> void shortestpath(int x,int n,int g)
> {
> 	int i,j,min;
> 	for(i=1;i<=n;i++)
> 	{
> 		found[i]=false;
> 		dist[g][i]=int_max;
> 	}
> 	dist[g][x]=0;
> 	while(x!=-1)
> 	{
>        found[x]=true;
> 	   for(i=1;i<=n;i++)
> 	   {
> 		   if((!found[i])&&cost[g][x][i])
> 			   if(dist[g][i]>dist[g][x]+cost[g][x][i])
>                     dist[g][i]=dist[g][x]+cost[g][x][i];
> 	   } 
> 	   min=int_max;
>        x=-1;
> 	   for(j=1;j<=n;j++)
> 		   if((!found[j])&&dist[g][j]<min)
> 		   {
> 			   min=dist[g][j];
> 			   x=j;
> 		   }
> 	}
> }
> int main()
> {
>   int n,m,x;
>     while(scanf("%d%d%d",&n,&m,&x)!=EOF)
>   {
> 	  int i,x,y,d,min=0;
>       memset(cost,0,sizeof(cost));
> 	  for(i=1;i<=m;i++)
> 	  {
> 		  scanf("%d%d%d",&x,&y,&d);
> 		  cost[0][x][y]=d;
> 		  cost[1][y][x]=d;
> 	  }
>       shortestpath(x,n,0);
>       shortestpath(x,n,1);
> 	 for(i=1;i<=n;i++)
> 	 {
> 		 if(dist[0][i]+dist[1][i]>min)
> 			 min=dist[0][i]+dist[1][i];
> 	 }
> 	 printf("%d\n",min);
>   }
>     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