
DFS
文章平均质量分 78
BestFSQ
这个作者很懒,什么都没留下…
展开
-
poj1970 -- The Game
题目链接这题的目的是判断五子棋黑方或者白方哪一方获胜,或者都没有获胜,当有且只有五个同色的棋子横向,纵向,或对角线(主对角线和副对角线)方向排列时,该色棋子获胜。对于一个棋子来讲,它可以和其周围八个方向的棋子形成连子,但我们没必要把这八个方向全判断了,因为上与下可以合为一个方向,同理左与右,右上和左下,左上和右下也可分别合为一个方向,即横,纵,主对角线,副对角线,具体是下,右,右下,左上,因为原创 2017-04-30 13:20:08 · 834 阅读 · 0 评论 -
uva536 -- Tree Recovery
题目在此这一题是根据先序序列和中序序列建立二叉树,然后求后序序列。首先是输入问题,我采用stringstream来输入,然后递归建立二叉树,最后后序遍历二叉树,具体代码如下:#include #include #include #include using namespace std;struct Node{ char value; Node* left;原创 2017-04-12 23:13:45 · 662 阅读 · 0 评论 -
uva548 -- Tree
由于uva实在上不去,我就不贴题目了,题目链接。这一题输入二叉树的中序序列和后序序列,让求一个叶子结点使此叶子节点到根节点路径的权值和最小。这题主要有以下几个问题:1、输入方式;2、根据中序和后序序列建立二叉树;3、使用DFS求权值和最小的叶子结点。我是看了刘汝佳的《算法竞赛入门经典》后才做的这题的,所以代码大体上和刘的相同,输入也是采用stringstream,只是在书中刘是采用数组的方式实原创 2017-04-12 22:31:09 · 868 阅读 · 1 评论 -
uva572 -- Oil Deposits
题目链接这一题是求图中连通块的个数,连通是指八连通,即上下左右和对角线共八个点,可以使用DFS或BFS来解决此题,下面给出两种方式的AC代码:DFS代码:#include #include #include using namespace std;const int N=100+10;char maze[N][N]; //存储迷宫int visit[N][N];原创 2017-04-16 10:01:54 · 518 阅读 · 0 评论 -
uva712 -- S-Trees
题目链接这题在看题的时候我认为要建立二叉树,在写的时候发现不需要建树,只需要根据二叉树的一个性质:对于结点k(k从0开始计数),其左子结点的编号为2*k+1,右子结点的编号为2*k+2,题目中已经告诉我们vva序列中取0的时候往左走,取1的时候往右走,叶子结点的序列也给出了,所以我们从根节点根据vva序列往下走,走到叶子结点,在所给的叶子结点序列里输出对应的叶子结点就行了。有一点需要注意:二叉原创 2017-04-16 12:47:12 · 1270 阅读 · 0 评论 -
uva1600 -- Patrol Robot
这一题是求最短路问题,我的第一想法是使用BFS求解,其实使用DFS求解也是可以的,DFS的代码还要简单一些。先说一下BFS的求解过程,这题与普通的BFS迷宫最短路问题有些区别,普通的最短路问题障碍物是不能通过的,而这题障碍物也是可以通过的,只是连续通过的障碍物个数不能超过k,所以结点入队时的值(这里指该结点连续通过障碍物的最小个数)的计算要复杂一点,连续通过障碍物的最小个数不能简单的拿队首结点连续原创 2017-04-16 23:00:32 · 715 阅读 · 0 评论 -
uva10562 -- Undraw the Trees
题目链接这一题是将图表示的二叉树转换为括号表示的二叉树,将输入的图放在二维数组里,然后递归求解即可。具体代码如下:#include #include #include #include #include using namespace std;string tree[210]; //存储输入int height; //树的高度void dfs(int r,i原创 2017-04-22 20:50:26 · 418 阅读 · 0 评论 -
poj1979 -- Red and Black
题目链接这题是求相连通的黑瓷砖的个数,相连通是指四联通,即上下左右,起始位置为@所在位置,从起始位置dfs即可,具体代码如下:#include #include #include using namespace std;int m,n; //列,行数char maze[30][30]; //迷宫int visit[30][30]; //0未访问,1访问过int s原创 2017-04-23 11:08:09 · 617 阅读 · 0 评论