标签:
3 1 0.5 0.5 0.5 1 0.4 0.5 0.4 1 3 1 2 2 3 1 3
0.500 0.400 0.500代码:#include<stdio.h> #include<string.h> #include<algorithm> #define INF 0x3f3f3f using namespace std; double map[1010][1010],low[1010]; int n,vis[1010]; void dijkstra(int x) { int i,j,next; double max; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) { low[i]=map[x][i]; } vis[x]=1; for(i=1;i<n;i++) { max=0; for(j=1;j<=n;j++) { if(!vis[j]&&max<low[j]) { max=low[j]; next=j; } } vis[next]=1; for(j=1;j<=n;j++) { if(!vis[j]&&low[j]<map[next][j]*low[next]) { low[j]=map[next][j]*low[next]; } } } } int main() { int i,j,b,q,c; double a; while(scanf("%d",&n)!=EOF) { memset(map,0,sizeof(map)); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { scanf("%lf",&a); map[i][j]=map[j][i]=max(map[i][j],a); } } scanf("%d",&q); for(i=1;i<=q;i++) { scanf("%d%d",&b,&c); dijkstra(b); if(low[c]==0) printf("What a pity!\n"); else printf("%.3lf\n",low[c]); } } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
hdoj 1596 find the safest road
标签:
原文地址:http://blog.csdn.net/longge33445/article/details/47734617