[GESP202603 六级] 完全二叉树

普及/提高- GESP 六级 真题

题目描述

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

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

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

输入格式

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

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

输出格式

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

数据范围

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

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

样例输入 1

4
2 3
4 0
0 0
0 0

样例输出 1

4

样例输入 2

4
2 3
0 0
4 0
0 0

样例输出 2

3
时间限制: 1000ms
内存限制: 256MB
通过率: 0.0%
提交数: 0

设置

导航栏小工具

时钟
显示实时时钟(默认组件)
📝
代码粘贴板
快速创建和分享代码片段