
dfs
文章平均质量分 64
G_rass
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 2676 Sudoku(数独)
题意:求解数独问题思路:dfs深搜,注意用三个数组保存每行每列每个小九宫格是否存在某数字,通过这个题目初步了解了dfs的大概用法,对其中的栈的返回有了新的理解(每一层栈都有返回值);,#include#include#includeusing namespace std;char aa[11][11];int a[11][11];int x[11][11],y[11][11原创 2015-07-22 20:39:59 · 471 阅读 · 0 评论 -
hdu 1515,zoj 1004 Anagrams by Stack
题目链接题意:有两个单词,能否通过对第一个单词进行出栈和入栈操作,输出第二个单词,如果能则输出全部相应的出栈入栈操作,出栈为o,入栈为i,思路:dfs深搜,注意一些条件的判断,看了别人的思路后自己写了一遍,输出时却出现的只输出一组解的情况,百思不得其解,一遍又一遍比对及实验后(恨不得直接把人家的代码复制过来),才发现是在对dfs深搜后的恢复上出现了问题,本应先y--,然后入栈b[y],原创 2015-07-23 23:09:53 · 607 阅读 · 0 评论 -
zoj 1204 Additive equations
题目链接题意:给定一个集合,若集合中任意n个元素相加的和仍属于集合,则输出这个等式思路:由于按等式的长度进行输出,所以按照相应的长度选择dfs搜索的深度,找出合适的解代码:这里的1和2代表不同的选择(并没有什么区别),只是需要十分注意这些边界问题,#include#include#include#includeusing namespace std;int n;原创 2015-07-23 22:22:38 · 836 阅读 · 0 评论 -
zoj 1008 Gnome Tetravex
题目链接题意 有一些卡片上下左右均有数字,要求将这些卡片拼成正方形,并且相接部分数字相同:思路:dfs深搜,但要注意如果直接暴力的话,深搜是一个全排列问题,计算量最大是为25!,这个数字是非常大的,但如果对卡片进行分类,即上下左右均相等的卡片分成一类,这样全排列的计算量将大大减小,这里我测试了两种思路稍有不同的代码,如下:经测试第二种稍微快一点,应该是是因为跳出的较快, 总的来说原创 2015-07-23 22:49:48 · 510 阅读 · 0 评论 -
csu 1660 K-Cycle
题目链接‘题意:给出一个无向图,问是否存在闭环其长度为k;思路:对每个点dfs,开一个一个数组记录搜索到的点的深度,搜索到以搜索过的点时检查与当前的深度差是否为k本来写了一堆返回及恢复的东西,结果并没有什么卵用,唉,好难理解啊#include#include#includeusing namespace std;int n,m,k,flag;int a[55][55];原创 2015-07-23 23:20:48 · 569 阅读 · 0 评论