CF962B Students in Railway Carriage
题目描述
一节火车车厢中有 $n$ 个连续的座位。每个座位要么是空的,要么被乘客占据。
奥林匹克大学队由 $a$ 名学生程序员和 $b$ 名学生运动员组成。请你确定,在满足以下条件的情况下,最多可以安排多少名学生(共 $a+b$ 人)坐在车厢中:
- 不能有两个学生程序员相邻;
- 不能有两个学生运动员相邻。
换句话说,不能有两个相邻的座位上分别坐着两名学生程序员或两名学生运动员。
已被占据的座位最初由评委成员占据(他们显然不是学生)。
输入格式
第一行包含三个整数 $n$、$a$ 和 $b$($1 \le n \le 2\cdot10^{5}$,$0 \le a, b \le 2\cdot10^{5}$,$a + b > 0$),分别表示车厢中的座位总数、学生程序员人数和学生运动员人数。
第二行包含一个长度为 $n$ 的字符串,仅由字符“.”和“\*”组成。点号表示对应位置是空座,星号表示该位置被评委成员占据。
输出格式
输出在满足条件的情况下,最多可以安排多少名学生坐在车厢中。
说明/提示
在第一个样例中,你可以安排所有学生,例如:\*.AB\*
在第二个样例中,你可以安排四名学生,例如:\*BAB\*B
在第三个样例中,你可以安排七名学生,例如:B\*ABAB\*\*A\*B
字母 A 表示学生程序员,字母 B 表示学生运动员。
由 ChatGPT 4.1 翻译