随笔分类 -  搜索

摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 struct node 8 { 9 int x,y,z;10 int time;11 };12 13 int a,b,c,t;14 int map[60][60][60];15 //int visited[60][60][60];16 int walk[6][3]={{-1,0,0},{1,0,0},{0,-1,0},{0,1,0},{0,0,-1},{0,0,1}};17 18 int bfs()19 {20 que... 阅读全文
posted @ 2013-12-22 16:32 forkbomb 阅读(96) 评论(0) 推荐(0)
摘要:如果传送门'#'的另一层是传送门'#'或者是墙'*',就可以理解为这两层的这个位置都是'*'了还有就是传送门'#'传过去可以是空地'.' 也可以是目的地'P',不要忽略了 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 struct node 9 {10 int x,y,floo;11 int time;12 };13 14 char map[2][20][20];15 阅读全文
posted @ 2013-12-22 02:05 forkbomb 阅读(213) 评论(0) 推荐(0)
摘要:深度搜索,注意要剪枝1.奇偶剪枝 可以把map看成这样: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 从为 0 的格子走一步,必然走向为 1 的格子 从为 1 的格子走一步,必然走向为 0 的格子 即: 0 ->1或1->0 必然是奇数步 0->0 走1->1 必然是偶数步则如果((di-si+dj-sj)&1)!=(t&1) 就可以直接输出“NO”了2.判断可走的block是否小于时间总数 n*m-wall 2 #include 3 using namespace std; 4 阅读全文
posted @ 2013-12-16 13:21 forkbomb 阅读(218) 评论(0) 推荐(0)