题目背景
题目描述
设二元运算符 kAn 为排列数 Ank,kCn 为组合数 Cnk,定义 k>n 时两者的值都为 0。
给定 n,m 和一个长度为 n−1 的仅包含 A,C 的序列 opt[1,n−1],对所有长度为 n,且每一个数都是 [1,m] 中的整数的序列 a[1,n] 求 $(\cdots(((a_1\operatorname{opt}_1 a_2)\operatorname{opt}_2 a_3)\operatorname{opt}_3 a_4)\cdots\operatorname{opt}_{n-2}a_{n-1})\operatorname{opt}_{n-1}a_n$ 的和。
答案对质数 11417603 取模。
输入格式
第一行两个整数 n,m。
接下来一行一个长度为 n−1 的字符串表示 opt。
输出格式
一行一个整数表示答案。
2 2
C
4
2 2
A
5
8 8
CCACAAC
399968
提示
【样例解释】
对于样例 #1:
1C1=1,1C2=2,2C1=0,2C2=1,求和为 4。
对于样例 #2:
1A1=1,1A2=2,2A1=0,2A2=2,求和为 5。
【数据范围】
不开启捆绑测试,按点给分。
对于 100% 的数据,2≤n,m≤105,opt 仅包含 A,C。
测试点编号 |
n≤ |
m≤ |
特殊性质 |
1∼3 |
8 |
无 |
4∼6 |
314 |
159 |
7∼10 |
2718 |
2818 |
11∼13 |
105 |
105 |
opt 仅由 A 构成 |
14∼16 |
opt 仅由 C 构成 |
17∼20 |
opt 由不超过 10 段连续的 A 和连续的 C 拼接而成 |
21,22 |
8492 |
无 |
23∼25 |
105 |