4037: [GESP202606 六级] 满二叉树

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:31 解决:6

题目描述

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

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

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

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

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

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

又例如,

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

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

输入

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

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

输出

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

样例输入 复制

4
2 3
4 0
0 0
0 0

样例输出 复制

2