![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图 广搜 深搜
文章平均质量分 80
qwerty_xk
算法ACM 向数据挖掘、人工智能、神经网络迈进
展开
-
poj 1011
dfs搜索加剪枝 程序基本思想: 设所有木棍的长度和是sum,那么原长度一定能被sum整除,不然没法拼了。 原来长度一定大于等于所有木棍中最长的那根 因此可以从所有木棍中最长的长度开始,枚举每个能被sum整除的长度,因为要求的是最小的长度,所以搜到的第一个就是结果。。 然后还得看这个结果能不能由那些木棍组合起来,如果不行的话,那还得继续选下一个能被sum整除的长度,直到找到能被由所有原创 2012-11-11 15:30:39 · 402 阅读 · 0 评论 -
poj 3126 prime path
BFS的题目,判断素数,并输出路径数目 #include #include #include using namespace std; bool p[11000]; int father[11000]; int visit[11000]; void make(int n) //得到素数 { memset(p,0,sizeof(p)); p[0]=1; p[1]=1; fo原创 2012-12-01 22:00:07 · 311 阅读 · 0 评论 -
poj 1033 defragment
簇移动问题,用到栈 11079438 qwertyxk 1033 Accepted 324K 219MS C++ 1626B 2012-12-05 11:44:08 #include #include using namespace std; #define MAX 10000 int clusters[MAX+10]; int原创 2012-12-05 11:47:11 · 418 阅读 · 0 评论 -
hdu 1241
dfs题,这题我写出了一个模版,以后碰到相似的直接套程序就行了 逻辑简单,话不多说,上程序 #include #include char oil[105][105]; int visit[105][105]; int towards[8][2]={{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1}}; int m,n; void dfs原创 2012-11-23 11:15:26 · 369 阅读 · 0 评论 -
poj 1129
搜索题 四色问题 ,第一个程序没有用到dfs,对于四个色进行遍历,对于每一个节点,从1到4色进行遍历,然后遍历与每个点相邻的点,如果有相邻的点有 相同的色,那么退出循环,并且换下一个色进行循环 qwertyxk 1129 Accepted 168K 0MS C++ 970B 2012-12-24 20:02:16 #includ原创 2012-12-24 20:24:39 · 269 阅读 · 0 评论 -
hdu 1026
用广搜即可做出来,程序思想,先把路径搜索出来,然后再在路径中去进行步骤的判断,结果的输出。 #include #include #include using namespace std; char arr[105][105]; int visit[105][105]; struct loc { int x; int y; int parent; //记录父亲节点,用于路径原创 2012-11-08 21:53:55 · 283 阅读 · 0 评论 -
八数码的八境界
八数码的八境界 研究经典问题,空说不好,我们拿出一个实际的题目来演绎。八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS Memory Limit: 65536K Special Judge Description Th转载 2013-01-13 19:44:07 · 1068 阅读 · 0 评论 -
poj 2965 The Pilots Brothers' refrigerator
这个枚举+DFS是借鉴大牛的 在此扩充了一下路径的保存 然后想提一个很无语的错误,在测试样例的时候,总是没有任何结果输出来,看了程序压根一点错误都没有(没看出任何逻辑硬伤) 没办法,断点调试,输出中间结果,然后在测试到step=6的时候,发现经过flip变化之后,map[1][1]还是true,并没有变,觉得异常奇怪 看了该row col对应的此行和此列,其他的变换都没有错误,就当前的交点原创 2013-03-20 14:10:59 · 533 阅读 · 0 评论 -
poj 2251 3D地牢
#include #include using namespace std; #define N 32 char dun[N][N][N]; int vis[N][N][N]; int c,res; int L,R,C; typedef struct dir { int l; int r; int c; }; vector towards; void getTowards() { di原创 2013-10-22 11:27:28 · 899 阅读 · 1 评论