#P7119. Mivik 的游戏
Mivik 的游戏
题目背景
Mivik 和 W!ʌ!k 在玩游戏!
题目描述
Mivik 首先把 枚硬币摆成一排,其中有一些正面朝上,其余的都是反面朝上。W!ʌ!k 打算不断执行以下操作直到这 枚硬币中没有硬币反面朝上:
- 如果现在这 枚硬币中有 枚硬币反面朝上,那么翻转从左到右第 枚硬币。具体地,如果从左到右第 枚硬币正面朝上,则将其变为反面朝上;如果从左到右第 枚硬币反面朝上,则将其变为正面朝上。
在 W!ʌ!k 开始玩游戏之前,Mivik 想考考 W!ʌ!k。Mivik 想让 W!ʌ!k 算出他总共会进行多少次这样的操作,或者是 W!ʌ!k 永远无法停止执行操作。
W!ʌ!k 很快解决了这个问题,但是心理比 yky 还变态的 Mivik 显然不会放过他。Mivik 进行了很多次操作,每次他翻转了一个区间的硬币,他要求 W!ʌ!k 算出他总共会进行多少次这样的操作,或者是 W!ʌ!k 永远无法停止执行操作。
请注意,W!ʌ!k 只是需要计算总共会进行多少次操作,而不会真正进行操作。
输入格式
输入共 行。
第一行为两个非负整数 ,其中 表示 Mivik 的硬币的个数, 表示 Mivik 进行的翻转操作的次数。
第二行为一个只包含有 和 的字符串。第 个字符 为 则表示从左到右第 枚硬币初始时是正面朝上; 为 则表示从左到右第 枚硬币初始时是反面朝上。
接下来 行,每行两个正整数 ,表示 Mivik 翻转了从左到右数 (包括 和 )的硬币。
输出格式
输出 行,分别表示在真正执行操作前后共 个时刻开始 W!ʌ!k 总共会进行多少次这样的操作,或者是 W!ʌ!k 永远无法停止执行操作。如果某一时刻 W!ʌ!k 不能停止执行操作,则在对应行输出字符串 。
2 2
TT
2 2
1 2
2
1
3
5 0
HTHTH
8
10 10
HTHHTHTHHH
9 9
5 5
10 10
7 7
6 6
9 9
4 4
9 9
7 7
2 2
19
30
27
40
33
38
27
28
37
40
47
提示
样例解释 #1
初始时两枚硬币都是反面朝上,因此如果 W!ʌ!k 从此刻开始执行操作, W!ʌ!k 会将编号为 的硬币翻转过来。操作后只有一枚硬币反面朝上,因此第 次操作会将编号为 的硬币翻转过来。在第 次操作后没有硬币反面朝上,因此 W!ʌ!k 不会再执行操作,总共会执行 次操作。
样例解释 #2
这 次操作分别翻转了第 枚硬币。
测试点约束
本题采用捆绑测试。
对于全部数据,有 ,,。
每个子任务的具体限制见下表:
子任务编号 | 分值 | 特殊限制 |
---|---|---|
1 | 10 | |
2 | 20 | |
3 | 30 | |
4 | 20 | |
5 | 无 |
本题读入输出量较大,请使用较快的读入输出方式。