
树
99度灰
这个作者很懒,什么都没留下…
展开
-
UVA 122 - Trees on the level
题目大意:给你一些坐标,坐标第一项表示节点的值,第二项表示节点的位置(例如:LL表示从根节的左节点的左节点),如果同一个节点赋值多次或没有根节点都输出"not complete",否则输出树的层次遍历。 解题思路:本来打算建树然后层次遍历一次的,要建树的话,要排先序中序后序方便建树。结果只要排序然后输出就可以了。。。按位置的长短,以及位置的字典序排。 ac代码: #include原创 2017-09-04 19:29:31 · 264 阅读 · 0 评论 -
UVA 679 - Dropping Balls
题目大意:一棵满二叉树,最多20层,有D层,每个节点都有一个开关,初始状态全为关,球经过开关,开关状态改变。每个球从根节点往下掉,节点开,则往右,关则往左。 解题思路:小紫二叉树第一题。两种思路,第一种暴力,数据太大会爆。第二种,I号为奇数时,从根节点往左,在左字数,他是作为经过该节点的第(I+1)/2个,在判断往左往右。I号为偶数时,从根节点往右,在右子树,他是作为经过该节点的第I/2个。原创 2017-09-04 19:28:31 · 628 阅读 · 0 评论 -
UVA 839 - Not so Mobile
题目大意:输出n个天平树,判断是否平衡,重1*距1 == 重2*距2。 解题思路:递归输入,判断返回值知否为1。刚开始以为只要每个有重物的地方可以平衡就好了...然后wa了。看了小紫,补充了一个累积下面子树的参数。 ac代码: #include using namespace std; int dfs(int &w) { int left=1, right=1, a[4];原创 2017-09-03 18:05:59 · 264 阅读 · 0 评论 -
UVA 699 - The Falling Leaves
题目大意:一颗二叉树的先序遍历,输出竖着数的数值和。从根开始,左子树的有子树与跟同一竖,-1代表空。 解题思路:数组模拟先序遍历建树,先序遍历都是左左左到完,所以,dfs建树。如果-1则返回,看的完全是小紫的代码,感觉写得很好看。刚开始,想dfs判断先序遍历后的树完整与否,不完整就继续输入,完整时,根据先序遍历建树,而用一个map函数,dfs建树。从根左子树就-1,右子树就+1,然后输出ma原创 2017-09-03 18:02:53 · 328 阅读 · 0 评论 -
UVA 297 - Quadtrees
题目大意:两个四叉树相加可以表示一条长为1024的图像像素,四叉树的叶子节点有1024个,两个四叉树相加的方式为,对应的叶子节点有任一为黑,则为黑。每个像素可以是黑色或白色,计算这图像的黑色个数。 解题思路:字符串代表四叉树,如:ppeeefpffeefe,第一个为p,所以,分支四个,第一个分支为peeef,第二个分支为pffee,第三个分支为f,第四个分支为e。对于每个分支也是同样的判断原创 2017-09-03 18:00:12 · 354 阅读 · 0 评论 -
UVA 712 - S-Trees
题目大意:告诉你满二叉树树的深度为n+1,叶子节点的值。然后每个节点的值为0或1,遇到0往左,遇到1往右,输入每层节点的值为多少,判断最后叶子节点的值。 解题思路:题比解题难系列。对于每次的的每层节点的值,换为十进制的值,输出叶子节点相应位置的值。 ac代码: #include #include using namespace std; int main() { int n,原创 2017-09-03 18:00:57 · 255 阅读 · 0 评论