#GESP202606C62. [GESP202606 六级] 满二叉树
[GESP202606 六级] 满二叉树
{"zh":"<div class=\"water\">\r\n\r\n# 满⼆叉树\r\n\r\n#### 题目描述\r\n给定⼀棵包含 个结点的有根⼆叉树,结点依次以 编号,根结点编号为 。\r\n对于结点 ,其左⼉⼦的编号记为 ,右⼉⼦编号记为 。特别地,如果左⼉⼦不存在则 ,如果右⼉⼦不存在\r\n则 。\r\n树中每个结点都对应⼀棵以其为根的⼦树。请你求出给定有根树的所有 棵⼦树中,有多少棵⼦树是满⼆叉树。\r\n满⼆叉树是指所有叶⼦深度均相同,且除叶⼦外均有两个⼉⼦的⼆叉树,例如以下三棵⼆叉树均是满⼆叉树:\r\n1 () () ()\r\n2 / \\ / \\\r\n3 () () () ()\r\n4 / \\ / \\\r\n5 () ()() ()\r\n例如,\r\n1 ()\r\n2 / \\\r\n3 () ()\r\n在上⾯这棵有 个节点的⼆叉树中,有 个⼦树是满⼆叉树(包括整个树本⾝,及所有的单个叶⼦节点);\r\n⼜例如,\r\n1 (1)\r\n2 / \\\r\n3 (2) (3)\r\n4 / \\\r\n5 (4) (5)\r\n在上⾯这棵有 个节点的⼆叉树中,有 个⼦树是满⼆叉树(包括节点 的⼦树,以及所有单个叶⼦节点)。\r\n\r\n#### 输入格式\r\n第⼀⾏,⼀个正整数 ,表⽰有根⼆叉树结点数量。\r\n接下来 ⾏,每⾏两个⾮负整数 ,表⽰结点 的左⼉⼦编号和右⼉⼦编号,整数之间以空格分隔。\r\n\r\n#### 输出格式\r\n输出⼀⾏,⼀个整数,表⽰所有⼦树中满⼆叉树的数量。\r\n\r\n#### 样例输入 #1\r\n\r\n4\r\n2 3\r\n4 0\r\n0 0\r\n0 0\r\n\r\n\r\n#### 样例输出 #1\r\n\r\n2\r\n\r\n\r\n#### 样例输入 #2\r\n\r\n3\r\n2 3\r\n0 0\r\n0 0\r\n\r\n\r\n#### 样例输出 #2\r\n\r\n3\r\n\r\n\r\n#### 数据范围\r\n对于 的测试点,保证 。\r\n对于所有测试点,保证 。\r\n\r\n#### 知识点与难度\r\n本题涉及的知识点从属于 GESP 6级,难度等级:⭐⭐⭐⭐⭐ 。\r\n\r\n---\r\n\r\n### 测试点分布\r\n\r\n| Subtask | 分值 | 测试点编号 | 说明 |\r\n|:-------:|:----:|:----------:|:-----|\r\n| 0 | 10 | 1~2 | 样例 |\r\n| 1 | 20 | 3~8 | 小规模 / 特殊性质 |\r\n| 2 | 15 | 9~11 | Hack |\r\n| 3 | 30 | 12~20 | 中大规模 |\r\n| 4 | 25 | 21~25 | 随机回归 |\r\n\r\n> 生测试数据后,按实际 subtask 分组改写上表。\r\n\r\n</div>\r\n"}