CF2069E.A, B, AB and BA

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由字符 A 和 B 组成的字符串 ss。

你的任务是将它分割成长度为 11 或 22 的块,使得:

  • "A" 类型的块数量不超过 aa;
  • "B" 类型的块数量不超过 bb;
  • "AB" 类型的块数量不超过 abab;
  • "BA" 类型的块数量不超过 baba;

其中 "AA" 和 "BB" 类型的块是被禁止的。原始字符串 ss 的每个字符必须恰好属于一个块。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例的数量。接下来输入 tt 个独立测试用例。

每个测试用例的第一行包含一个仅由字符 A 和/或 B 组成的字符串 ss(1≤∣s∣≤5⋅1051 \le |s| \le 5 \cdot 10^5)。

每个测试用例的第二行包含四个整数 aa、bb、abab 和 baba(0≤a,b,ab,ba≤5⋅1050 \le a, b, ab, ba \le 5 \cdot 10^5)——分别表示允许的 "A"、"B"、"AB" 和 "BA" 类型块的最大数量。

保证所有测试用例的 ss 总长度不超过 5⋅1055 \cdot 10^5。

输出格式

对于每个测试用例,如果能够分割字符串 ss 则输出 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测评打分。不知道怎么写?

首页