标签:des style http color io os ar java for
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 <algorithm> #include <cstdio> #include <cstring> using namespace std; #define M 1050 int n,m; double map[M][M],dis[M]; void Dijkstra(int x,int y) { bool v[M]={0}; int i,j; for(i=1;i<=n;i++) dis[i]=(i==x?1:0); for(i=1;i<=n;i++) { int k; double Min=0; //在这里WA了一发,模板打多了就仅仅会int了。 for(j=1;j<=n;j++) if(!v[j] && dis[j]>Min) Min=dis[k=j]; v[k]=1; for(j=1;j<=n;j++) dis[j]=max(dis[j],dis[k]*map[k][j]); } if(dis[y]) printf("%.3lf\n",dis[y]); else printf("What a pity!\n"); } int main() { int i,j; int a,b,c; while(scanf("%d",&n)!=EOF && n) { memset(map,0,sizeof(map)); for(i=1;i<=n;i++) for(j=1;j<=n;j++) { scanf("%lf",&map[i][j]); } //题目给的是邻接矩阵,所以不要初始化了。 scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); Dijkstra(a,b); } } return 0; }我个人觉得用Floyd算法应该也能够,就是时限的问题了。
HDU 1596 find the safest road (最短路)
标签:des style http color io os ar java for
原文地址:http://www.cnblogs.com/mengfanrong/p/4051479.html