atcoder#AGC062A. [AGC062A] Right Side Character

[AGC062A] Right Side Character

配点 : 400400

問題文

A,B のみからなる長さ n (2n)n\ (2\leq n) の文字列 T=T1T2TnT=T_1T_2\dots T_n に対し、長さ n1n-1 の文字列 f(T)f(T) を以下のように定めます。

  • Ti=T_i={}A が成り立つ i (1in1)i\ (1\leq i \leq n-1) 全体を a1<a2<<ama_1 < a_2 < \dots < a_{m} とし、 Ti=T_i={}B が成り立つ i (1in1)i\ (1\leq i \leq n-1) 全体を b1<b2<<bkb_1 < b_2 < \dots < b_k とする。このとき、 $f(T)=T_{a_1+1}T_{a_2+1}\dots T_{a_m+1}T_{b_1+1}T_{b_2+1}\dots T_{b_k+1}$ と定める。

例えば文字列 T=T={}ABBABA について、Ti=T_i={}A が成り立つ i (1i5)i\ (1\leq i \leq 5) 全体は i=1,4i=1,4 , Ti=T_i={}B が成り立つ i (1i5)i\ (1\leq i \leq 5) 全体は i=2,3,5i=2,3,5 であるため、f(T)f(T)T1+1T4+1T2+1T3+1T5+1=T_{1+1}T_{4+1}T_{2+1}T_{3+1}T_{5+1}={}BBBAA になります。

A,B のみからなる長さ NN の文字列 SS が与えられます。

SSf(S)f(S) で置き換えることを N1N-1 回行った後の SS を求めてください。

TT 個のテストケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 1T1051 \leq T \leq 10^5
  • 2N3×1052 \leq N \leq 3 \times 10^5
  • SSA,B のみからなる長さ NN の文字列
  • 入力される数値はすべて整数
  • 11 つの入力に含まれるテストケースについて、 NN の総和は 3×1053 \times 10^5 以下

入力

入力は以下の形式で標準入力から与えられます。

TT

case1\mathrm{case}_1

\vdots

caseT\mathrm{case}_T

各ケースは以下の形式で与えられます。

NN

SS

出力

TT 行出力してください。ii 行目には ii 番目のテストケースに対する答えを出力してください。

3
2
AB
3
AAA
4
ABAB
B
A
A

11 つ目のテストケースについて、SSAB{}\rightarrow {}B と変化します。

22 つ目のテストケースについて、SSAAA{} \rightarrow {}AA{} \rightarrow {}A と変化します。

33 つ目のテストケースについて、SSABAB{}\rightarrow {}BBA{} \rightarrow {}BA{} \rightarrow {}A と変化します。