#P1047. 字符串方案
字符串方案
小核桃有一个长度为 的字符串 , 仅包含小写字母,且对于任意的 有 ,即字符串的内容是递增的。
而且字符串每个字母都有使用次数限制。现在小核桃只记得密码串的一个子序列和原密码串的长度,你能帮他算出原密码串有多少种可能吗?由于答案可能很大,请输出答案对 求余之后的结果。
输入格式
输入第一行包括两个整数 ,表示小核桃字符串子序列的长度和原字符串的长度
输入第二行包括 个数 代表 到 中每个字母的出现次数限制。
输入第三行包括一个长度为 的字符串 ,字符串只包括小写字母。
输出格式
输出一行一个数字表示答案对 求余的结果,如果可能的方案数为 0,输出 NO SOLUTION!
。
4 5
1 1 4 5 1 4 1 9 1 9 8 1 0 1 1 4 5 1 4 1 9 1 9 8 1 0
abcd
22
说明
可能是 abccd, 或者 abcd。
表示除了 之外的 21 种字母,这些字符串都是可以的。所以总共有 22 种字符串。
测试点说明
测试点编号 | 特殊性质 | |
---|---|---|
1 | 只有一个 不是 0 | |
2 | 1 | |
3 | 2 | |
4 | 只有两个 不是 0 | |
5-6 | 5 | 所有 之和小于 20 |
7 | 答案小于 | |
8 | 1000 | 可能的方案数为 0 |
9-10 |
对于所有数据,有