![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
_Phoenix
人一我百,人十我万!追逐青春的梦想,怀着自信的心,永不放弃!
展开
-
hdu 1016
经典深搜,注意那个顺时针与逆时针序,其实只用考虑顺时针就好,也就是说只要考虑与前一个数相加是否为素数即可。题不难,主要是对dfs递归理解要到位O(∩_∩)O~~ #include #include using namespace std; int n; int num[21],mark[21]; int prime[12] = { 2, 3, 5, 7, 11, 13, 17, 19, 23,原创 2015-07-22 15:38:09 · 381 阅读 · 0 评论 -
hdu 1010
嗯....这题我交了27次QAQ 剪枝剪枝剪枝,重要的事情说三遍!奇偶剪枝是很重要的然后各种初始化和return也一定要写,回溯的时候记得还原修改为'X'的路径。 说到底还是我太弱了....#include #include #include #include using namespace std; int n,m,t,di,dj; bool ok; int dr[4][2] = {{1,0原创 2015-07-21 15:45:47 · 492 阅读 · 0 评论 -
hdu 1241
题意大致就是在一个矩阵中从从上下左右以及对角线八个方向找到最大的连续'@' 然后思路的话就直接各个点进行深搜,搜完一个点就用‘*’覆盖‘@’来避免重复搜索...#include using namespace std; int m,n; char s[110][110]; int dr[8][2] = {{1,0},{-1,0},{1,1},{-1,-1},{0,1},{0,-1},{1,-1}原创 2015-07-17 20:00:53 · 436 阅读 · 0 评论 -
POJ1979(经典深搜)
水题,代码如下 #include #include using namespace std; char a[22][22]; int dr[4][2] = {{-1, 0}, {1, 0}, {0, -1},{0, 1}}; int x, y; int w, h; int num = 0; void dfs(int x, int y) { int m, n; for (int原创 2015-11-03 12:51:36 · 667 阅读 · 0 评论