1
没有穿墙的能力,我认为这是标准的Dijkstra的问题。但是,如果我给X次绕过/穿过墙壁,我如何对它进行建模以应用Dijkstra算法?迷宫中的最短路径允许穿过有限数量的墙?
没有穿墙的能力,我认为这是标准的Dijkstra的问题。但是,如果我给X次绕过/穿过墙壁,我如何对它进行建模以应用Dijkstra算法?迷宫中的最短路径允许穿过有限数量的墙?
假设您的迷宫用图表表示:创建该图形的X + 1个副本,并为与它们之间的墙壁相邻的单元格创建级别和i + 1
级别之间的有向边。最后合并所有的出口。
从实际的角度来看,当然您不需要创建图的副本,只需跟踪(顶点,水平)的有序对。
这很棘手。对于每个顶点,您需要为每个允许的旁路数量存储最短路径。这与迪克斯特拉的贪婪本性相冲突。 –
穿过墙壁并穿过通道的费用是多少?他们对所有的细胞都一样吗?他们是否依赖于我们已经穿过墙壁多少次? – Gassa
穿过通道并穿过墙壁费用1(步骤),对所有人都一样 – nkt