atcoder#ARC071C. [ARC071E] TrBBnsformBBtion
[ARC071E] TrBBnsformBBtion
配点 : 点
問題文
A
, B
からなる文字列に対して、次の操作を考えます。
- 文字列中の 文字を選ぶ。それが
A
ならBB
で、B
ならAA
で置き換える。 AAA
かBBB
であるような部分文字列を選び、消す。
例えば、ABA
という文字列で 番目の操作を 文字目に対して行うと、 BBBA
となります。
また、BBBAAAA
に対して 番目の操作を 文字目から 文字目に対して行うと、 BBBA
となります。
これらの操作を何回でも好きな順で行うことができます。
文字列 と 個のクエリ が与えられます。 各クエリに対して、 の部分文字列 を の部分文字列 にすることができるか判定してください。
制約
- は文字
A
,B
からなる。
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。
行目には、 番目のクエリに対する答えを出力せよ。
を
にすることができる場合は 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
つめのクエリでは、 ABA
という文字列を BBBA
にできるか聞かれています。
問題文中で例に挙げたように、 番目の操作で可能です。
つめのクエリでは、 ABA
という文字列を BBBB
にできるか聞かれています。
つめのクエリでは、 BBBAAAA
という文字列を BBB
にできるか聞かれています。
どちらも不可能です。
つめのクエリでは、BBBAAAA
という文字列を BBBA
にできるか聞かれています。
問題文中で例に挙げたように、 番目の操作で可能です。
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