标签:hdu1569find the safe floyd 最短路
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<cstdio> #include<algorithm> #include<cstring> #include<string> using namespace std; #define maxn 1005 #define inf 0x3f3f3f3f double d[maxn][maxn]; int n; void floyd(){ for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){ d[i][j]=max(d[i][j],d[i][k]*d[k][j]); } } int main() { int q; int a,b; // freopen("in.txt","r",stdin); while(~scanf("%d",&n)&&n){ memset(d,inf,sizeof d); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%lf",&d[i][j]); floyd(); scanf("%d",&q); for(int i=0;i<q;i++){ scanf("%d%d",&a,&b); if(d[a][b]) printf("%.3lf\n",d[a][b]); else puts("What a pity!"); } } }
hdu1569find the safest road(floyd变形求最大安全值)
标签:hdu1569find the safe floyd 最短路
原文地址:http://blog.csdn.net/u013497977/article/details/44501601