/*
* hdu-1596 find the safest road
* mike-w
* 2012-3-26
********************************************************
* FLOYD
* DON'T chose GCC, or you'll get a TLE
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_SIZE 1111
#define EPS (0.00000001)
#define fmax(e1,e2) ((e1)>(e2)?(e1):(e2))
double f[MAX_SIZE][MAX_SIZE];
int N,Q;
int main(void)
{
#ifndef ONLINE_JUDGE
freopen("in","r",stdin);
#endif
int i,j,k,t1,t2;
while(scanf("%d",&N)!=EOF)
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
scanf("%lf",f[i]+j);
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
if(f[j][i]>EPS)
for(k=1;k<=N;k++)
f[j][k]=fmax(f[j][k],f[j][i]*f[i][k]);
scanf("%d",&Q);
for(i=1;i<=Q;i++)
{
scanf("%d%d",&t1,&t2);
if(f[t1][t2]<EPS)
puts("What a pity!");
else
printf("%.3lf\n",f[t1][t2]);
}
}
return 0;
}
HDU-1596 FLOYD
最新推荐文章于 2020-05-27 14:47:27 发布
本文通过详细解释FLOYD算法的应用,解决HDU-1596中关于寻找最安全路径的问题。重点在于通过优化路径计算过程,避免使用GCC导致的时间限制错误(TLE),并提供了实际代码实现,适用于路径优化领域的学习与应用。
141

被折叠的 条评论
为什么被折叠?



