A128412.[GESP202606 六级]满二叉树
普及/提高-
GESP
通过率:0%
时间限制:1.00s
内存限制:512MB
题目描述
给定一棵包含 n 个结点的有根二叉树,结点依次以 1∼n 编号,根结点编号为 1。
对于结点 i,其左儿子的编号记为 li,右儿子编号记为 ri。特别地,如果左儿子不存在则 li=0,如果右儿子不存在则 ri=0。
树中每个结点都对应一棵以其为根的子树。请你求出给定有根树的所有 n 棵子树中,有多少棵子树是满二叉树。
满二叉树是指所有叶子深度均相同,且除叶子外均有两个儿子的二叉树,例如以下三棵二叉树均是满二叉树:
() () ()
/ \ / \
() () () ()
/ \ / \
() () () ()
例如,
()
/ \
() ()
在上面这棵有 3 个节点的二叉树中,有 3 个子树是满二叉树(包括整个树本身,及所有的单个叶子节点);
又例如,
(1)
/ \
(2) (3)
/ \
(4) (5)
在上面这棵有 5 个节点的二叉树中,有 4 个子树是满二叉树(包括节点 3 的子树,以及所有单个叶子节点)。
输入格式
第一行,一个正整数 n,表示有根二叉树结点数量。
接下来 n 行,每行两个非负整数 li,ri,表示结点 i 的左儿子编号和右儿子编号,整数之间以空格分隔。
输出格式
输出一行,一个整数,表示所有子树中满二叉树的数量。
输入输出样例
输入#1
4 2 3 4 0 0 0 0 0
输出#1
2
输入#2
3 2 3 0 0 0 0
输出#2
3
说明/提示
数据范围
对于 30% 的测试点,保证 n≤1000。
对于所有测试点,保证 1≤n≤105。
输入解题思路,AI测评打分。不知道怎么写?