一个学术问题
查看原帖
一个学术问题
514610
mzyc_yang2021楼主2022/11/15 13:13

第一次的AC的代码A*里面扩展点的循环是这样的:

for(int i=head2[tx.now];i!=0;i=ed2[i].nex)
{
		st a;a.now=ed2[i].to;a.g=tx.g+ed2[i].v;a.f=tx.g+ed2[i].v+dis[ed[2].to];
		p.push(a);
}

但是我发现了一个笔误:

st a;a.now=ed2[i].to;a.g=tx.g+ed2[i].v;a.f=tx.g+ed2[i].v+dis[ed[2].to];

这里的ed[2].to应该是ed2[i].to,也就是:

st a;a.now=ed2[i].to;a.g=tx.g+ed2[i].v;a.f=tx.g+ed2[i].v+dis[ed2[i].to];

蒟蒻求问为什么第一份代码能过。

2022/11/15 13:13
加载中...