深度优先遍历
V坚持
Coding坚持
展开
-
POJ 2386 Lake Count 简单的递归深搜
【题意】:有一个N*M的园子,雨后积水,八联通的积水被认为是连接在一起的。请求出园子里共有多少水洼? 【题意分析】:此题不难,一看便知是简单的搜索。我们可以从任意的W开始,不停的把邻接部分用' . '代替。一次DFS后与初始的这个W连接的所有W就都被替换成了' . ',因此知道图中不再存在W为止,一共进行的DFS次数就是正解! 八个方向对应八种状态转移,每个格子作为DFS的参数之多被调原创 2014-02-25 21:42:10 · 1091 阅读 · 0 评论 -
POJ 2362 Square 同1011
此题同我的另一篇文章1011,思路想法基本相同,不再赘述,我的代码就是在1011的基础上做了小小的一些满足题意的改变,然后提交便AC了,但时间性能很差,我也不想再做了,留着以后再做修改吧,提高性能! 【题意简述】:给你M根小棍,让你用这些小棍拼成一个正方形。 【思 路】:同1011,做简单的适应题意改变!/* 220K 1250Ms */ #include #includ原创 2014-03-01 16:07:23 · 486 阅读 · 0 评论 -
POJ 2488 DFS+回溯
【题意简述】:骑士想要周游列国,现在这个国就是这个棋盘,(就是他要走遍棋盘的每一个角落)骑士只能向八个方向走“日”字,而且不能重复,现在如果可以做到,就按 字典序 输出骑士走的路径,如果不可以就输出 “impossible”!(我错了好多次,就是因为打错了这个英文) 【思路】:看到这种在棋盘上走的,就知道是有关搜索的题目,然后要求不能重复,所以一定要回溯!最重要的就是这个字典序,只要够清楚这个字原创 2014-03-23 16:30:37 · 943 阅读 · 0 评论 -
POJ 3009 图的遍历+DFS+回溯
深度优先搜索,poj原创 2014-03-23 17:23:40 · 988 阅读 · 0 评论 -
POJ 1321 棋盘问题 深搜+回溯
【题意简述】:中文题目,十分类似八皇后!http://poj.org/problem?id=1321 【思路】:典型的深搜+回溯,不再过多赘述! 代码:// 248K 32Ms #include #include #include using namespace std; const int maxn = 10; int ans, n, k; char MAP[maxn][maxn]; bo原创 2014-03-23 20:29:42 · 544 阅读 · 0 评论 -
POJ 2531 Network Saboteur
【题意简述】:现在已知,你可以从键盘输入n,它代表着n个点,然后输入n个点之间的关系!就是那个邻接矩阵。邻接矩阵的每个值代表其点与点之间的权值!现在让我们把这些点分成两部分,使得这两部分的权值之和最大!每个部分之内的点与点之间权值算作0! 【思路】:我们可以试着先将这些点都放在一个部分里,然后再依次拿出这些点,放到另一个集合里,计算此时的权值之和!和之前计算的权值作比较,如果比之前大,就更新这个原创 2014-04-06 12:03:49 · 794 阅读 · 0 评论 -
POJ 1011 Sticks 深搜+剪枝
题意简述: n根长度不同的小棍,拼成若干根长棍,要这些长棍的长度相等,并且小棍刚刚好都用完,问能拼成的长棍的最短长度是多少? 思路:(非原创) 首先 ,把小棍按长度,从大到小排序(为了进行贪心选择),并计算这些小棍的总长度,拼成的长棍的长度从最长的小棍开始进行搜索,如果小棍的总长度能整除该长棍的长度,则可能完成拼凑。 进而 ,可以把问题花间成n根小棍,长度已知,拼成 num 根长度为原创 2014-02-23 20:08:35 · 1137 阅读 · 0 评论