POJ3271:Lilypad Pond

——problem:贝茜要从只能在荷叶上跳“日”字,问从起点到终点最少要加多少个荷叶,有多少种方案

——solution:最短路

——url:http://poj.org/problem?id=3271

刚拿到题想直接最短路,但是发现在计数上会出现问题。

如下图:

2222122

2202224

3222122

从3到4可以通过上面的1,也可以通过下面的1,这样会认为有两条最短路,但实际上摆放方式只有一种。

为了解决这个问题,我们需要重新构图:

将所有【空地】格看做点,如果空地i和空地j之间能在不添加荷叶的情况下互达,连一条无向边
然后添加【原起点格和原起点能够在不添加荷叶的情况下到达的格子的集合】作为新的起点,终点处理方法同。
空地点的权值赋1,起点终点权值赋0。
在新图中求最短路。


posted on 2011-04-05 21:38  风也轻云也淡  阅读(361)  评论(0编辑  收藏  举报