![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
北狗最光阴1
这个作者很懒,什么都没留下…
展开
-
UVa 10285 Longest Run on a Snowboard
这题我的第一感觉就是用DFS。自己写的貌似不够完美,因为我看见别人的时间都特别的短,而我的有点长。 #include #include #include #include #include #include using namespace std; const int N=102; int height[N][N]; bool visited[N][N]; int dx[]={1,0,-1,0}原创 2015-01-31 21:44:23 · 458 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem
这题我用的是DFS。不多说,看代码和注释。 #include #include #include #include #include using namespace std;//因为n<20,所以最大的素数也就是40左右,因此用一个数组来记录45以内的素数,用于之后的判定。 bool isprime[45]={0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0原创 2015-01-13 22:19:52 · 404 阅读 · 0 评论 -
HDU 1015 Safecracker
终于做对DFS了。这题就是简单的DFS吧,不过对我而言,我是费了不少力气。 #include #include #include #include #include using namespace std; char s[15]; bool isok,visited[15]; int len; void dfs(int target,char *ans,int cnt,int id)//cnt用原创 2015-01-13 21:29:13 · 390 阅读 · 0 评论 -
ZOJ 1711 Sum It Up
这题用DFS,但是自己没想到怎么排除重复的,结果看了别人的代码,才感叹自己的DFS是多么的弱。 我想的是用bool数组来标志已经访问过的元素,但是只要访问数组的下一个元素就行了。(自己没弄清楚设置bool数组的实质) 还有就是sum的值如何传递,既然sum的值是变的,所以肯定要通过参数传递,这样才好判断sum的值是否满足要求 递归函数怎么返回的问题一直困扰着我,通过这个题目,自己又进一步理解原创 2015-01-02 17:06:24 · 410 阅读 · 0 评论 -
HDU 1027 Ignatius and the Princess II
这题我使用DFS来解决的,但是每次我写DFS的时候总是坑在递归结束的条件上,每次都要纠结,这次也不例外。不过总算解决了。 #include #include #include #include #include #include using namespace std; const int N=1005; int ans[N]; bool visited[N]; int n,m; bool df原创 2015-01-25 16:49:44 · 522 阅读 · 0 评论