标签:杭电
http://acm.hdu.edu.cn/showproblem.php?pid=1596
这道题目与杭电2544最短路的思想是一样的,只不过是把+改成了*,输入输出有些不一样而已。
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<iostream> #include<cstring> #include<cstdio> using namespace std; double map[1010][1010],d[1010]; int v[1010]; int a,b,n; void Dijkstra(int s) { int i,p,j; double min=0; for (i=1; i<=n; i++) { d[i]=map[s][i]; v[i]=0; } v[s]=1; for (i=1; i<n; i++) { min=0; for (j=1; j<=n; j++) { if(!v[j] && d[j]>min) { p=j; min=d[j]; } } v[p]=1; if(min==0)break; for (j=1; j<=n; j++) { if(!v[j] && d[p]*map[p][j]>d[j]) { d[j]=d[p]*map[p][j]; } } } } int main() { int m,i,j; while(~scanf("%d",&n)) { for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { scanf("%lf",&map[i][j]); } } scanf("%d",&m); for(i=0; i<m; i++) { scanf("%d%d",&a,&b); Dijkstra(a); if(d[b]==0) printf("What a pity!\n"); else printf("%.3lf\n",d[b]); } } return 0; }
杭电 1596 find the safest road (最短路),布布扣,bubuko.com
杭电 1596 find the safest road (最短路)
标签:杭电
原文地址:http://blog.csdn.net/u012766950/article/details/38564641