求问floyd

P2419 [USACO08JAN] Cow Contest S

for(int k=1;k<=n;k++) 这行必须放外面的!! 原因是floyd的关键就是fl[i][j]=min(f[i][j],f[i][k]+f[k][j])。 也就是比较从点i到j是直接从i到j的距离短,还是从i到k加上从k到j的距离短。而次循环才会得出正确的答案。
by lsfzz @ 2020-07-25 10:59:12


|