讨论 / floyd算法
1036571256 2014-01-30 20:11:42
点我顶贴 收藏 删除
wikioi1077:

裸floyd算法;

如果是这样循环的

for i:=1 to n do

for j:=1 to n do

for k:=1 to n do

a[i,j]:=min(a[i,j],a[i,k]+a[k,j]);

就会出错

如是这样循环的

for k:=1 to n do

for i:=1 to n do

for j:=1 to n do

a[i,j]:=min(a[i,j],a[i,k]+a[k,j]);

就可以Ac.

这是事实,可是为什么呢

#1 诛天器@2014-01-31 02:15:28
回复 删除
第一重循环是中间点
#2 诛天器@2014-01-31 02:15:48
回复 删除
你这个错误太经典了
查看更多回复
提交回复