#P1240. Pre-Post-erous!
Pre-Post-erous!
描述
我们都熟悉二叉树的先序遍历、中序遍历和后序遍历。数据结构课程中的一个常见问题是,当给定中序遍历和后序遍历时,如何找到二叉树的先序遍历。或者,当给定中序遍历和先序遍历时,如何找到后序遍历。然而,一般情况下,无法仅凭给定的先序遍历和后序遍历确定树的中序遍历。考虑以下四棵二叉树:
a a a a
/ / \ \
b b b b
/ \ / \
c c c c
这些树的先序遍历和后序遍历完全相同。这个现象不仅仅局限于二叉树,对一般的 -叉树也适用。
输入
输入将包含多个问题实例。每个实例由一行形式为:
表示树是 -叉树, 是先序遍历, 是后序遍历。所有遍历字符串都由小写字母组成。对于所有输入实例,,且 和 的长度在 到 之间(包括 和 )。如果 的长度为 (显然, 的长度也是 ),则字符串中将使用字母表的前 个字母。输入行 结束输入。
输出
对于每个问题实例,你需要输出一行,包含可能形成该先序遍历和后序遍历的树的数量。所有输出值都在 位有符号整数的范围内。对于每个问题实例,保证至少存在一棵树能够生成给定的先序遍历和后序遍历。
2 abc cba
2 abc bca
10 abc bca
13 abejkcfghid jkebfghicda
0
4
1
45
207352860
来源
East Central North America 2002