CF2069E.A, B, AB and BA
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由字符 A 和 B 组成的字符串 s。
你的任务是将它分割成长度为 1 或 2 的块,使得:
- "A" 类型的块数量不超过 a;
- "B" 类型的块数量不超过 b;
- "AB" 类型的块数量不超过 ab;
- "BA" 类型的块数量不超过 ba;
其中 "AA" 和 "BB" 类型的块是被禁止的。原始字符串 s 的每个字符必须恰好属于一个块。
输入格式
第一行包含一个整数 t(1≤t≤104)——测试用例的数量。接下来输入 t 个独立测试用例。
每个测试用例的第一行包含一个仅由字符 A 和/或 B 组成的字符串 s(1≤∣s∣≤5⋅105)。
每个测试用例的第二行包含四个整数 a、b、ab 和 ba(0≤a,b,ab,ba≤5⋅105)——分别表示允许的 "A"、"B"、"AB" 和 "BA" 类型块的最大数量。
保证所有测试用例的 s 总长度不超过 5⋅105。
输出格式
对于每个测试用例,如果能够分割字符串 s 则输出 YES,否则输出 NO。
输入输出样例
输入#1
7 A 0 0 10 10 B 0 1 0 0 ABA 0 0 1 1 ABBABAAB 5 5 0 0 ABABBAABBAAB 1 1 2 3 ABBBBAB 0 3 2 0 BAABBA 1 3 2 0
输出#1
NO YES NO YES YES YES NO
说明/提示
第三个测试用例中,所有可能的分割方式为:A|B|A、AB|A 或 A|BA。所有这些方式都至少包含一个 "A"。
第四个测试用例中,一种可能的分割方式是:A|B|B|A|B|A|A|B。
第五个测试用例中,一种可能的分割方式是:A|BA|B|BA|AB|BA|AB。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?