#2958. D-乱写检测机
D-乱写检测机
题面描述
小智遇到了一场史无前例的难的数学考试,绞尽脑汁也无法完成所有的题目,对于无法完成的题目,他将会随机选择一个答案填上去。但是魔高一尺道高一丈,老师发明了“乱写检测机”,检测到如果你是乱填的就要惩罚再写一张试卷。
乱写检测机的逻辑如下:一旦在答案序列中发现超过连续的个A或者连续的个B或者连续的个C,就会判定为乱写!小智写出了长度为的答案序列,请你帮他找一找,
有多少对符合以下条件:
可以不被”乱写检测机“检查出来是乱写的。
或者说: 不存在连续的
输入
第一行输入一个整数,代表小智写的答案序列的长度。
第二行输入三个整数,分别代表答案中不能连续出现的次数。
第三行输入个大写字母,代表小智的答案序列。
输出
一个整数,代表符合条件的对数。
样例输入 1
10
1 1 1
ABCABCABAA
样例输出 1
46
样例输入 2
5
1 1 1
ABCAA
样例输出 2
11
样例解释 2
符合条件的[l,r]有: (1,1),(1,2),(1,3),(1,4) (2,2),(2,3),(2,4) (3,3),(3,4) (4,4) (5,5) 共11种
样例输入 3
5
1 1 1
AABAA
样例输出 3
8
样例解释 3
(1,1)(2,2)(2,3)(2,4)(3,3)(3,4)(4,4)(5,5)共8种
测试数据
| 测试点编号 | 数据范围 |
|---|---|
| 1 ~ 3 | n <= 100 |
| 4 ~ 6 | n <= 10000 |
| 7 ~ 10 | n <= 100000 |
相关
在下列比赛中: