选择知识点 (0)
找到 50 道编程题
EXY-PG-0048
第 9 题
完全二叉树
时间限制:1s 内存限制:512MB

题目描述

给定一棵包含 n 个结点的有根二叉树,结点依次以 $1,2,…,n$ 编号,根结点编号为 1。

对于结点 i,其左儿子的编号记为 $l_i$​,右儿子编号记为 $r_i$​。特别地,如果左儿子不存在则 $l_i​=0$,如果右儿子不存在则 $r_i​=0$。

树中每个结点都对应一棵以其为根的子树。请你求出给定有根树的所有 n 棵子树中,有多少棵子树是完全二叉树。

输入格式

第一行,一个正整数 n,表示有根二叉树结点数量。

接下来 n 行,每行两个正整数 $l_i​,r_i$​,表示结点 i 的左儿子编号和右儿子编号。

输出格式

输出一行,一个整数,表示所有子树中完全二叉树的数量。

样例说明

样例 1

输入:
4
2 3
4 0
0 0
0 0
输出:
4

样例 2

输入:
4
2 3
0 0
4 0
0 0
输出:
3

数据范围

对于 40% 的测试点,保证 $1≤n≤500$。

对于所有测试点,保证 $1≤n≤10^5$。

语言: C++
GESP真题 六级
2026.3
编程题号: 2
当前页显示 9 - 9 ,共 50 道编程题