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 |
WA,难道是精度问题?大家帮忙看看啊:)#include <stdio.h> #include <memory.h> #define true 1 #define false 0 #define I 0 #define N 100 double cost[N][N]; double dist[N],max; int v0,v1; void main() { int final[N],i,v,w,n,m; while(1) { scanf("%d",&n); if(n==0)break; scanf("%d",&m); v0=0;v1=n-1; memset(cost,0,sizeof(double)*n*n); for(i=0;i<m;i++) { int x,y,rate; scanf("%d%d%d",&x,&y,&rate); x--;y--; if(cost[x][y]!=0) if(rate<cost[x][y]*100)continue; cost[x][y]=(double)rate/100; cost[y][x]=(double)rate/100; } for(v=0;v<n;v++) { final[v]=false; dist[v]=cost[v0][v]; } final[v0] = true; while(1) { max=0; for(w=0;w<n;w++) { if(!final[w]&&dist[w]>max) { max=dist[w]; v=w; } } final[v]=true; if(final[v1]==true)break; for(w=0;w<n;w++) { if(!final[w]&&dist[v]*cost[v][w]>dist[w]) { dist[w]=dist[v]*cost[v][w]; } } } printf("%.6lf percent\n",dist[v1]*100); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator