#533. 完全二叉树
完全二叉树
题目描述
给定一棵包含 个结点的有根二叉树,结点依次以 编号,根结点编号为 。
对于结点 ,其左儿子的编号记为 ,右儿子编号记为 。特别地,如果左儿子不存在则 ,如果右儿子不存在则 。
树中每个结点都对应一棵以其为根的子树。请你求出给定有根树的所有 棵子树中,有多少棵子树是完全二叉树。
-
二叉树是指每个节点最多有两个子节点的树:左子节点和右子节点。
-
完全二叉树是指深度为k、有n个结点的二叉树,其结点编号与相同深度的满二叉树对应位置一致,满二叉树每一层的结点数达到最大值时即为完全二叉树的特殊形态。
-
满二叉树是一种特殊的二叉树,其特点是每个节点要么是叶子节点(即度为0),要么有两个子节点(即度为2)。在满二叉树中,所有的叶子节点都位于同一层,且每一层的节点数都达到最大值。
输入格式
第一行,一个正整数 ,表示有根二叉树结点数量。
接下来 行,每行两个正整数 ,表示结点 的左儿子编号和右儿子编号。
输出格式
输出一行,一个整数,表示所有子树中完全二叉树的数量。
输入输出样例
4
2 3
4 0
0 0
0 0
4
4
2 3
0 0
4 0
0 0
3
说明/提示
对于 的测试点,保证 。
对于所有测试点,保证 。