B - 文字列の反転 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

半角の小文字アルファベットのみからなる文字列 SS が与えられる。 文字列 SS に対して以下の操作 11 から操作 NN までを番号の昇順に行う。

  • 操作 ii : 左から lil_i 番目の文字を左端、左から ri(1liriS)r_i (1 ≦ l_i < r_i ≦ |S|) 番目の文字を右端とした部分文字列を逆順にする。

例えば,文字列 abcdef に対して、左から 3 番目の文字 c を左端、左から 55 番目の文字 e を右端とした部分文字列を逆順にすると、文字列 abedcf が得られる。

操作 11 から操作 NN までを番号の昇順に行った後の文字列を出力せよ。


入力

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

SS
NN
l1l_1 r1r_1
l2l_2 r2r_2
:
lNl_N rNr_N
  • 11 行目には、半角の小文字アルファベットのみからなる文字列 S(1S100)S (1 ≦ |S| ≦ 100) が与えられる。
  • 22 行目には、操作の回数を表す整数 N(1N100)N (1 ≦ N ≦ 100) が与えられる。
  • 33 行目から NN 行では、操作に関する情報が与えられる。NN 行のうち ii 行目では、22 つの整数 lil_iri(1liriS)r_i (1 ≦ l_i < r_i ≦ |S|) が空白区切りで与えられる。これは、操作 ii が左から lil_i 番目の文字を左端、左から rir_i 番目の文字を右端とした部分文字列を逆順にする操作であることを表す。

出力

全操作後の文字列を 11 行に出力せよ。(21:49 表現の変更)出力の末尾に改行を入れること。


入力例1Copy

Copy
abcdef
2
3 5
1 4

出力例1Copy

Copy
debacf
  • 操作 11 の後、文字列は abedcf となっている。
  • 操作 22 の後、文字列は debacf となっている。

入力例2Copy

Copy
redcoat
3
1 7
1 2
3 4

出力例2Copy

Copy
atcoder


2025-04-03 (Thu)
09:03:17 +00:00