#2186. Code Breaking
Code Breaking
题目描述
奶牛骑着农民约翰的拖拉机不断惹麻烦,所以他把拖拉机的钥匙藏在办公室一个新的保险柜里.奶牛们没有被吓倒,发誓要闯入这个保险箱.
保险箱由相当复杂的密码系统保护.密码输入系统被安排为个节点的根树,每个节点都需要一个介于和之间的数字.
节点索引为奶牛拥有的唯一信息是,长度为的某些序列不会沿着树的特定路径向上出现.例如,假设树如下(根在):
A <- B <- C <- D <- E
^
|
F
奶牛可能知道序列不是从开始出现的,并且序不会从开始发生.该信息排除个可能的密码:表单中的所有密码
4 <- 3 <- 2 <- 1 <- *
^
|
0
或者
4 <- 3 <- 2 <- 1 <- 9
^
|
*
一旦我们考虑到这样一个事实
4 <- 3 <- 2 <- 1 <- 9
^
|
0
出现两次.
给定长度为的序列及其起始序列树中的节点,
帮助奶牛计算出有多少个密码排除在外.
你应该以的膜计算你的答案.
输入格式
第行:两个空格分隔的整数,和
第行: 第行包含一个整数,表示树中节点的父节点
输出格式
第行:一个整数,表示排除的配置,膜
样例
输入样例
6 2
0
1
2
3
3
4 01234
5 91234
输出样例
19