![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
GNIHTON
这个作者很懒,什么都没留下…
展开
-
Poj1164.The Castle
题目链接:http://poj.org/problem?id=1164。 思路:这道题目给出了一个城堡的地图,要我们根据地图求出城堡中房间数和最大房间的面积。关键就是利用DFS来求连通分块数,再利用一个全局变量maxArea记录最大房间面积。代码实现如下: #include <iostream> using namespace std; struct G { int ...原创 2018-03-14 23:51:00 · 173 阅读 · 0 评论 -
Poj2488.A Knight's Journey(DFS+回溯)
题目链接:http://poj.org/problem?id=2488。 思路:这道题目给出一个p*q棋盘,让我们判断能否按照马走日字的方式走遍整个棋盘,每个格仅访问一次。可以采用DFS+回溯的方法来做,对于当前的位置,先将访问为置为True,然后按照字典序从小到大的顺序依次访问当前位置能够到达的且未被访问的位置,这样便能够保证如果能够成功遍历整个棋盘时所得到的路径是字典序最小的。代码如下: ...原创 2018-03-14 20:57:04 · 127 阅读 · 0 评论 -
Sicily1153.马的周游问题
题目链接:http://soj.333.edu.gr/1153 。 思路:这道题目给出的棋盘是8*8,如果用一般的DFS+回溯来做会超时,这里加入了贪心策略,在马跳到某个位置A时,先计算从位置A再跳一步可以到达的所有可能候选位置的可扩展数C(也就是从候选位置处出发可以到达的位置数),然后按照每个候选位置的可扩展数来确定A处优先选择下一步的方向,C越小该方向优先级越高。代码实现如下: #in...原创 2018-03-21 11:39:24 · 276 阅读 · 0 评论