![]() |
|
2025年2月8日
情報オリンピック日本委員会
|
JOIG 高校には 1 から 3N までの番号がつけられた 3N 人の生徒がいる.
JOIG 高校の修学旅行の行き先として,アラスカに行く案 A とボリビアに行く案 B があり,どちらにするかを以下のように決定することにした.
A
に,案 B を希望するなら i 文字目は B
にすることで定める.A
あるいは B
のいずれかであり,A
ならば案 A として,B
ならば案 B として決定する.
最初,各生徒がどちらの案を希望するかは長さ 3N の文字列 T として与えられる.T の i 文字目は,生徒 i が案 A を希望するなら A
,案 B を希望するなら B
である.この後,Q 回のイベントが起こる.k (1 ≦ k ≦ Q) 回目のイベントでは,生徒 pk の希望する案を変更する.すなわち,k 回目のイベントの直前での生徒 pk の希望する案が A
なら生徒 pk の希望する案を B
に,そうでないなら A
に変更する.
k=1,2,...,Q について,k 回目のイベントが終わった時点での各生徒の希望をもとに修学旅行の行き先を決定した場合にどちらの案が選ばれるかを求めるプログラムを作成せよ.ただし,希望案の変更は一時的なものではなく,その後のイベントに影響することに注意せよ.
A
または B
のいずれかである.A
である.また,pk ≠ pl (1 ≦ k < l ≦ Q).
入力は以下の形式で与えられる.
N Q
T
p1
p2
︙
pQ
Q 行にわたって出力せよ.k (1 ≦ k ≦ Q) 行目には,k 回目のイベントが終わった時点での各生徒の希望をもとに修学旅行の行き先を決定した場合に案 A が選ばれる場合は A
を,案 B が選ばれる場合は B
を出力せよ.
入力例 1
2 3
ABABBAABB
3
8
4
出力例 1
B
B
A
1 回目のイベントが終わった時点での各生徒の希望をもとに修学旅行の行き先を決定した場合,案 B が選ばれることは次のようにして分かる.
ABBBBAABB
である.BBB
となる.B
となる.2 回目のイベントが終わった時点での各生徒の希望をもとに修学旅行の行き先を決定した場合,案 B が選ばれることは次のようにして分かる.
ABBBBAAAB
である.BBA
となる.B
となる.3 回目のイベントが終わった時点での各生徒の希望をもとに修学旅行の行き先を決定した場合,案 A が選ばれることは次のようにして分かる.
ABBABAAAB
である.BAA
となる.A
となる.この入力例は小課題 2, 5 の制約を満たす.
入力例 2
2 5
AAAAAAAAA
1
2
7
8
5
出力例 2
A
A
A
B
B
この入力例は小課題 2, 4, 5 の制約を満たす.
入力例 3
1 4
AAB
3
1
2
3
出力例 3
A
A
B
B
この入力例は小課題 1, 2, 3, 5 の制約を満たす.
入力例 4
3 6
AABABABBABAABABBBBBBAABABAA
4
1
9
3
8
9
出力例 4
B
B
B
B
B
A
この入力例は小課題 2, 5 の制約を満たす.