1806: 睡美人
内存限制:256 MB
时间限制:3.000 S
评测方式:文本比较
命题人:
提交:9
解决:3
题目描述
所有的魔毯才能亲吻公主,现在王子手里有三瓶魔法药水(都必须使用且只能使用一次),1号药水可以随机改变原来魔毯的覆盖顺序(有可能不发生改变),2号药水可以合并所有相邻且颜色相同的魔毯为一条魔毯,3号药水可以恰好(大于或小于m都无法移除)移除m个魔毯,药水需要按照编号为1、2、3的顺序使用。用0表示红色魔毯1表示蓝色魔毯,例如一开始魔毯顺序为"0101"、m=3,经过1号药水随机变换后顺序可能为"1001",使用2号药水后序列变为"101",最后使用3号药水恰好可以移除所有魔毯,这称之为一种移除成功的可能反之称之为一种移除失败的可能。 现在王子想知道移除成功和移除失败的可能数分别为多少,结果可能很大需要对1e9+7取模。
输入
第一行两个正整数n、m分表示魔毯的数量和3号药水恰好移除的魔毯数。
第二行个只包含0和1的字符串s。
(输入保证红色魔毯和蓝色魔毯都至少存在一条)
(2<=n<=1e6, 1<=m<=1e9)
输出
两个非负整数,分别表示移除成功和移除失败的可能数。
样例输入 复制
4 2
1010
样例输出 复制
2 4
提示
样例:经过1号药水变换后s有6种可能{"1010","1001","1100","0011","0101","0110"},其中"1100"和"0011"经过2号药水的变换后分别为"10"、"01"剩余魔毯数恰好2正好满足3号药水的使用条件。