题目传送门 1 /* 2 题意:将字符串分割成一个全排列 3 DFS:搜索主要在一位数和两位数的处理,用d1, d2记录个数,在不饱和的情况下,两种都试一下 4 DFS还是写不来,难道是在家里懒? 5 */ 6 #include 7 #include 8 #inc...
分类:
其他好文 时间:
2015-07-12 09:33:07
阅读次数:
272
题意:
构造一个n到m的数的序列,使得任意连续的2个数,3个数,4个数...d个数的和都为合数。
先打素数表,然后DFS搜索,对于每个数都判断它和前面的数的和是否满足条件。
代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-06-30 18:24:40
阅读次数:
121
题目链接:http://poj.org/problem?id=2192思路分析:该问题可以看做dp问题,同时也可以使用dfs搜索求解,这里使用dp解法;设字符串StrA[0, 1, …, n]和StrB[0,1, .., m]构成字符串Str[0, 1, … , m + n + 1];1)状态定义:...
分类:
其他好文 时间:
2015-05-23 22:45:25
阅读次数:
120
链接 :
??
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18888
题意 : 一个有向图,如果从0点出发到达某一点必须经过某些点 题目就是求出这些点。
点数不多 可以删点然后dfs搜索,之前能搜到的点 但是删了该点之后搜不到了 那么这个删点就是从起始点搜不到的必经之路。
#include
#...
分类:
其他好文 时间:
2015-05-23 00:03:07
阅读次数:
217
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1426 思路分析:该问题为数独问题,明显解是唯一的,所有采用dfs搜索效果更好; 在搜索时,可以通过3个数组来判断对于某个特定的数是否能够满足要求,即在每一行、每一列和每一个3X3的方块中只有唯一的1~9...
分类:
其他好文 时间:
2015-05-19 00:25:47
阅读次数:
197
题意:给你一个n*m的棋盘,有q个点已经放了棋。问最多还能放多少炮。要求炮与炮之间不能互相攻击。也就是两个炮直接不能隔着炮或者隔着棋。
做法:棋盘大小最大25个格子。2^25=3*10^7。如果枚举每个状态还要判断可不可行会超时。 所以我用了dfs。每次那个位置如果没有棋,就摆上炮dfs下去,每次摆判断和正上方一排冲突不冲突,还有左边一排冲不冲突。不冲突才可以摆。 再把炮去掉dfs下去。如果没有棋,就dfs不摆炮就行了。...
分类:
其他好文 时间:
2015-05-09 22:08:06
阅读次数:
248
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1226思路分析:题目要求寻找一串长度不大于500的C进制的密码,且该密码需要为十进制数N的整数倍。搜索方式选择:由于密码的长度未知(题目限制最大为500),所以状态树的深度比较深,采用dfs搜索效率比较低...
分类:
其他好文 时间:
2015-05-03 23:25:29
阅读次数:
194
题意:给出一个数字组成的字符串,然后在字符串内添加三种运算符号 * + - ,要求输出所有添加运算符并运算后结果等于2000的式子。
所有数字不能有前导0,且式子必须是合法的。
题解:字符串长度25左右,可以暴力,用dfs搜索所有可能的分割情况,并在每次分割的字符后添加三种运算符,然后递归到最后一个字符拿去判断,先用栈把所有分割字符串得到的数字压栈,同时优先运算’*’,然后再从左到右计算看结果是...
分类:
其他好文 时间:
2015-05-01 16:08:30
阅读次数:
156