最大完全二叉树和最大满二叉树
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
现给定一颗二叉树,其中根为 ,求该二叉树的以 为根节点的最大完全二叉树和最大满二叉树。
注意,这是两个问题,应当独立作答。
对于每个问题,你应当删除某些节点及其子树(如果有子树的话),使剩下的节点组成完全二叉树(满二叉树),并且是最大的。
- 完全二叉树 :除了最后一层有缺失外,其它是满的,且最后一层缺失的叶子结点只出现在右侧。
- 满二叉树 :除最后一层无任何子节点外,每一层上的所有结点都有两个子结点。
- 题目中的最大表示完全二叉树或满二叉树所含有的节点数最多。
输入
第一行为一个整数 ,表示二叉树的节点个数。
第二行到第 行,每行两个整数 ,表示 和 之间连有一条边。
数据保证, 一定是根节点。
注意:有的节点可能只有一个儿子节点,默认为左儿子;有的节点可能有两个儿子节点,其中,序号小的为左儿子,大的为右儿子。
输出
输出一行两个整数,用一个空格隔开,分别表示最大完全二叉树的和最大满二叉树的节点数。
样例
5
1 3
1 4
3 5
4 2
4 3