3615 - [GESP六级202606] 满二叉树

题目描述

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

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

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

满二叉树是指所有叶子深度均相同,且除叶子外均有两个儿子的二叉树,例如以下三棵二叉树均是满二叉树:

()      ()          ()
       / \         / \
      ()  ()      ()  ()
                 / \ / \
                () ()() ()

例如,

   ()
  /  \
()    ()

在上面这棵有 3 个节点的二叉树中,有 3 个子树是满二叉树(包括整个树本身,及所有的单个叶子节点)。

又例如,

    (1)
   /   \
 (2)   (3)
       / \
      (4) (5)

在上面这棵有 5 个节点的二叉树中,有 4 个子树是满二叉树(包括节点 3 的子树,以及所有单个叶子节点)。

输入

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

接下来 n 行,每行两个非负整数 l_i, r_i,表示结点 i 的左儿子编号和右儿子编号,整数之间以空格分隔。

输出

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

样例

输入

4
2 3
4 0
0 0
0 0

输出

2

输入

3
2 3
0 0
0 0

输出

3
说明

提示

数据范围

  • 对于 40\% 的测试点,保证 1 \le n \le 500
  • 对于 100\% 的测试点,保证 1 \le n \le 10^5
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 4 枚
难度 基础


上一题 下一题