摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1010剪枝:1能走的地板数小于所给时间,肯定走不过。2狗达到门的时间和所给时间同奇偶性。奇偶剪枝:http://blog.csdn.net/chyshnu/article/details/6171758可以把map看成这样:n0 1 0 1 0 1n1 0 1 0 1 0n0 1 0 1 0 1n1 0 1 0 1 0n0 1 0 1 0 1n从为0的格子走一步,必然走向为1的格子n从为1的格子走一步,必然走向为0的格子n即:n0 ->1或1->0必然是奇数步0->0走1->1必然是偶
阅读全文
摘要:
原文链接http://blog.csdn.net/chyshnu/article/details/6171758什么是奇偶剪枝?把矩阵看成如下形式:0 1 0 1 0 11 0 1 0 1 00 1 0 1 0 11 0 1 0 1 00 1 0 1 0 1从为 0 的格子走一步,必然走向为 1 的格子 。从为 1 的格子走一步,必然走向为 0 的格子 。即:从 0 走向 1 必然是奇数步,从 0 走向 0 必然是偶数步。所以当遇到从 0 走向 0 但是要求时间是奇数的或者 从 1 走向 0 但是要求时间是偶数的,都可以直接判断不可达!比如有一地图:[c-sharp]view plaincop
阅读全文
摘要:
1 #include <iostream> 2 #include <cstdio> 3 char map[101][101]; 4 int m, n; 5 int dir[8][2] = {{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}}; //八个方向 6 void dfs(int x, int y) 7 { 8 for (int i = 0; i < 8; ++i) 9 {10 int fx = x + dir[i][0];11 int fy = y + dir[i][1];12...
阅读全文