lingo语句 最短路问题
发布网友
发布时间:2023-01-10 23:42
我来回答
共1个回答
热心网友
时间:2023-10-26 16:19
这句的意思实际上是说 对于除了出发点以外的点 到点i的最短距离是 对于所有点j 到点j的最短距离和ij间距离和的最小值
这里实际上需要对j所对应的集运用函数min
你可以把@for分出来看 比如说给定i=2的话 那么就是l(2)= @min(roads(j,2):l(j)+d(j,2));
这样可能会清楚一点
更准确的表达应该是 @for(cities(i)|i#gt#1:
l(i)=@min(cities(j)|@in(roads,j,i):l(j)+d(j,i)));追问为什么是roads(j,i) 而不是roads(i,j)呢 都是表示城市 i j之间的距离
追答那你要注意下标顺序啊 你自己针对i=2的情况下写一下看你写的下标j是在前面还是在后面 这个不能乱写的