帮助SPOJ的算法问题

mat*_*iit 2 algorithm

我认为这将是一个有趣的问题:Prime Path

但是......对我来说很难.我唯一的想法是"用背包问题做点什么"......而且没有其他想法.你能跟踪我的好方法吗?这不是任何挑战或大学的家庭作业.我只想学点东西.

_

好的,但首先,如何找到这个素数?我是否需要找到所有4位素数,将其添加到图表中?

现在我已生成所有素数.

http://pastebin.com/wbhRNRHQ

你能给我一些示例代码来声明邻居列表上的图形构建吗?

小智 7

看起来像一个简单的图形路径发现问题.

将所有4位数素数作为顶点.如果我们可以从一个到另一个,则用边缘连接两个.

现在给出两个,你需要在我们刚刚形成的图中找到它们之间的最短路径.一个简单的BFS(广度优先搜索)应该为此做.

对于具有时间限制的编程竞赛,您甚至可以对每个可能的素数对路径进行硬编码并接近零运行时间!