摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1983封锁出口或者入口周围的格子.最多需要4个封锁点.所以我们可以采取这样的策略:1.寻找一条盗贼的可行路线,如果没有,返回0.2.计算封锁出口和入口四周需要的封锁点数量,取小的一个,假设是k,k <=43.从少到多,遍历所有封锁点个数小于k的方案,验证是否是一条有效的覆盖方案(可以通过是否阻止了1中的盗贼线路进行快速验证).如果有有效覆盖方案,返回这个方案的覆盖点值,否则继续.4.如果没有比k小的覆盖方案,返回k.时间复杂度:最多(M*N)^3次有效覆盖验证.即(8*8)^3=256k次.其中有很大一
阅读全文
posted @ 2011-05-17 15:43
敌敌
阅读(521)
推荐(0)
编辑
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1253//这题是简单的三维搜索,将而为的坐标改为三维//其他的按照正常的bfs框架// 984 ms 1544 kb #include <stdio.h>#include <stdlib.h>#include <memory.h>#include <iostream>#include <queue>using namespace std;int map[55][55][55];int T;//魔王到达的时间int a,b,c;int directio
阅读全文
posted @ 2011-05-17 15:12
敌敌
阅读(147)
推荐(0)
编辑
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1242#include<stdio.h> #include<string.h> #include<iostream> #include<queue> using namespace std; int dir[4][2]={0,1,0,-1,1,0,-1,0}; int si,sj;//公主的起始横纵坐标,int n,m; char map[201][201]; struct node { int x,y; int time; }; priority_queue&
阅读全文
posted @ 2011-05-17 15:04
敌敌
阅读(546)
推荐(0)
编辑