hdu 1983 Kaitou Kid - The Phantom Thief (2) DFS + BFS
思路:封锁出口或者入口周围的格子. 最多需要4个封锁点. 所以我们可以采取这样的策略: 1.寻找一条盗贼的可行路线,如果没有,返回0. 2.计算封锁出口和入口四周需要的封锁点数量,取小的一个,假设是k,k 3.从少到多,遍历所有封锁点个数小于k的方案,验证是否是一条有效的覆盖方案(可以通过是否阻止了1中的盗贼线路进行快速验证). 如果有有效覆盖方案,返回这个方案的覆盖点值,否则继续. 4.如果没有比k小的覆盖方案,返回k. 时间复杂度: 最多(M*N)^3次有效覆盖验证.即(8*8)^3=256k次.其中有
原创
2011-03-17 21:33:00 ·
831 阅读 ·
0 评论