因此,我一直在研究如何解决ICPC 2014的Game Strategy问题(第7页)。
这包括一个有n个盒子的棋盘游戏,每个盒子都有一组独特的路径,可以通向棋盘上的另一个盒子(可以有一条通向自己的路径)。我认为图将很好地代表游戏,更具体地讲,是有向图
graphic case representation whit n = 2
我发现了2种可能可以解决问题的算法:
1.-一个YouTube video表示我应该使用广度优先搜索
2.- Blog评论了ICPC那年的一些问题的解决方案。作者说可以使用DP(动态编程)。在Wikipedia's page中解释了称为 Dijkstra算法的算法,该算法用于页面上所说的“最短路径问题”。
这些算法之一是否是解决该问题的更好方法?其中之一具有更好的性能或类似的东西吗?
答案 0 :(得分:1)
当图形的边缘没有权重时(视情况而定),使用广度优先搜索(不久后为 BFS )和加权图形的 Dijkstra的算法。
请注意,当边具有负值时,Dijkstra不起作用。
考虑到复杂度,此问题可能对您有利:Why use Dijkstra's Algorithm if Breadth First Search (BFS) can do the same thing faster?