用动态编程解决桥梁和火炬之谜

时间:2014-08-20 07:53:33

标签: java dynamic-programming puzzle

我正在尝试用动态编程解决桥梁和火炬问题。 有关此问题的更多信息,请访问维基百科(http://en.wikipedia.org/wiki/Bridge_and_torch_problem)。故事是这样的:

  

晚上有四个人来到河边。有一座狭窄的桥梁,但它一次只能容纳两个人。他们有一个火炬,因为现在是夜晚,火炬必须在过桥时使用。 A人可以在一分钟内过桥,两分钟过B,五分钟过C,八分钟过D.当两个人一起过桥时,他们必须以较慢的人的速度移动。问题是,他们是否可以在15分钟或更短的时间内跨过桥梁?

现在我已经设法使用图形来解决问题,但我看不出如何使用动态编程解决这类问题。你如何将问题分解为子问题?那些子问题的解决方案如何导致整个问题的最优解?什么阶段和状态?

有人知道如何使用DP解决这个问题吗?也许告诉我如何用Java解决这个难题?

0 个答案:

没有答案