[ABC018B] 文字列の反転
题意翻译
第一行给定一个字符串,其长度≤100。
第二行为操作数n(≤100)。
接下来n行,每行两个整数p,q,将p,q之间的字符串翻转。
最后输出所有操作完之后的字符串。
感谢@da32s1da 提供的翻译
题目描述
[problemUrl]: https://atcoder.jp/contests/abc018/tasks/abc018_2
半角の小文字アルファベットのみからなる文字列 $ S $ が与えられる。 文字列 $ S $ に対して以下の操作 $ 1 $ から操作 $ N $ までを番号の昇順に行う。
- 操作 $ i $ : 左から $ l_i $ 番目の文字を左端、左から $ r_i\ (1\ ≦\ l_i\ <\ r_i\ ≦\ |S|) $ 番目の文字を右端とした部分文字列を逆順にする。
例えば,文字列 `abcdef` に対して、左から 3 番目の文字 `c` を左端、左から $ 5 $ 番目の文字 `e` を右端とした部分文字列を逆順にすると、文字列 `abedcf` が得られる。
操作 $ 1 $ から操作 $ N $ までを番号の昇順に行った後の文字列を出力せよ。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ S $ $ N $ $ l_1 $ $ r_1 $ $ l_2 $ $ r_2 $ : $ l_N $ $ r_N $
- $ 1 $ 行目には、半角の小文字アルファベットのみからなる文字列 $ S\ (1\ ≦\ |S|\ ≦\ 100) $ が与えられる。
- $ 2 $ 行目には、操作の回数を表す整数 $ N\ (1\ ≦\ N\ ≦\ 100) $ が与えられる。
- $ 3 $ 行目から $ N $ 行では、操作に関する情報が与えられる。$ N $ 行のうち $ i $ 行目では、$ 2 $ つの整数 $ l_i $ と $ r_i\ (1\ ≦\ l_i\ <\ r_i\ ≦\ |S|) $ が空白区切りで与えられる。これは、操作 $ i $ が左から $ l_i $ 番目の文字を左端、左から $ r_i $ 番目の文字を右端とした部分文字列を逆順にする操作であることを表す。
输出格式
全操作後の文字列を $ 1 $ 行に出力せよ。(21:49 表現の変更)出力の末尾に改行を入れること。
输入输出样例
输入样例 #1
abcdef
2
3 5
1 4
输出样例 #1
debacf
输入样例 #2
redcoat
3
1 7
1 2
3 4
输出样例 #2
atcoder
说明
### Sample Explanation 1
\- 操作 $ 1 $ の後、文字列は `abedcf` となっている。 - 操作 $ 2 $ の後、文字列は `debacf` となっている。