atcoder#ARC071C. [ARC071E] TrBBnsformBBtion
[ARC071E] TrBBnsformBBtion
题目描述
A
, B
からなる文字列に対して、次の操作を考えます。
- 文字列中の 文字を選ぶ。それが
A
ならBB
で、B
ならAA
で置き換える。 AAA
かBBB
であるような部分文字列を選び、消す。
例えば、ABA
という文字列で 番目の操作を 文字目に対して行うと、 BBBA
となります。 また、BBBAAAA
に対して 番目の操作を 文字目から 文字目に対して行うと、 BBBA
となります。
これらの操作を何回でも好きな順で行うことができます。
文字列 と 個のクエリ が与えられます。 各クエリに対して、 の部分文字列 を の部分文字列 にすることができるか判定してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
行出力せよ。 行目には、 番目のクエリに対する答えを出力せよ。 を にすることができる場合は YES
を、 できない場合は NO
を出力せよ。
题目大意
题目描述
考虑对一个只含 A
,B
的字符串的如下操作:
-
将一个
A
替换成BB
,或将一个B
替换成AA
-
将三个连续相同的字符(
AAA
或BBB
)消掉
例如说,串 ABA
可以通过第一个操作变成 BBBA
,串 BBBAAAA
可以通过第二个操作变成 BBBA
.
这些操作可以以任意顺序,不限次数地进行。
给出两个串 和 ,以及 次询问 ,每次询问你需要回答 这一子串是否能通过这两个操作变成 .
输入格式
将从标准输入输出输入以下格式:
$ S $
$ T $
$ q $
$ a_1 $ $ b_1 $ $ c_1 $ $ d_1 $
$ ... $
$ a_q $ $ b_q $ $ c_q $ $ d_q $
输出格式
输出 行,每行包含一个询问的答案。若第 个询问 这一子串能通过这两个操作变成 ,则输出 YES
,否则输出 NO
.
BBBAAAABA
BBBBA
4
7 9 2 5
7 9 1 4
1 7 2 5
1 7 2 4
YES
NO
YES
NO
AAAAABBBBAAABBBBAAAA
BBBBAAABBBBBBAAAAABB
10
2 15 2 13
2 13 6 16
1 13 2 20
4 20 3 20
1 18 9 19
2 14 1 11
3 20 3 15
6 16 1 17
4 18 8 20
7 20 3 14
YES
YES
YES
YES
YES
YES
NO
NO
NO
NO
提示
制約
- は文字
A
,B
からなる。
Sample Explanation 1
つめのクエリでは、 ABA
という文字列を BBBA
にできるか聞かれています。 問題文中で例に挙げたように、 番目の操作で可能です。 つめのクエリでは、 ABA
という文字列を BBBB
にできるか聞かれています。 つめのクエリでは、 BBBAAAA
という文字列を BBB
にできるか聞かれています。 どちらも不可能です。 つめのクエリでは、BBBAAAA
という文字列を BBBA
にできるか聞かれています。 問題文中で例に挙げたように、 番目の操作で可能です。