在计算机领域,树是一种特别重要的数据结构。有关树的定义,可以查看 OI-Wiki 上的对应页面的第一段。
二叉树是一种特殊的树,它是有根的,且每个节点的儿子数目不超过 。
我们今天来做一道二叉树的编程习题:
定义两个二叉树 , 相等,当且仅当它们的左、右子树对应相等。特别地(递归出口),空树两两相等,空树不等于任何非空的树。
给出两棵大小为 ,根节点编号为 ,其余节点编号为 的二叉树,请你判断这两颗二叉树是否相等。
第一行一个正整数 ,表示两棵二叉树的大小。
接下来一行 个正整数,, 是第一棵树第 号点的父亲。
接下来一行 个布尔值,, 表示第一棵树第 号点是否是其父亲的左儿子。
接下来一行 个正整数,, 是第二棵树第 号点的父亲。
接下来一行 个布尔值,, 表示第二棵树第 号点是否是其父亲的左儿子。
输出一个 0/1 布尔值,表示两棵树是否相等。
样例输入1
3 3 1 0 0 1 2 0 0
样例输出1
1
样例输入2
3 1 1 1 0 1 1 0 1
样例输出2
样例输入3
3 3 1 0 1 1 2 0 0
样例输出3
0
对于所有数据,,保证输入的树合法。