编程题
### 问题描述 给定一个长度为 $2\times N$ 的字符串 $S$,你需要对字符串做 $Q$ 次操作,每次操作内容如下: 1. 首先给定一个数字 `1​`,表示操作 `1`。然后给定二个数字 $i,j$,交换 $S_i,S_j$。 2. 给定三个数字 `2 0 0`,表示操作 `2​`,然后交换 $S_{1\sim N},S_{N+1\sim 2N}$。 $Q$ 次操作结束后,你需要输出字符串 $S$ 的值。 ### 输入格式 第一行输入一个正整数 $N$。 第二行输入长度 $2\times N$ 的字符串 $S$。 第三行输入一个正整数 $Q$。 接下来每一行输入三个数字: 操作 `1` 格式为:`1 i j`,第一个数字表示操作 `1`,然后交换 $S_{i},S_{j}$。 操作 `2` 格式为:`2 i j`,第一个数字表示操作 `2`,然后交换 $S_{1\sim N},S_{N+1\sim 2N}$。 ### 输出格式 输出一行,表示最后的字符串。 ### 样例输入 ```text 3 abcdef 4 2 0 0 1 2 4 2 0 0 1 3 6 ``` ### 样例输出 ```text ebfdac ``` ### 说明 字符串变换顺序为:`abcdef,defabc,dafebc,ebcdaf,ebfdac`。 ### 评测数据规模 $1\le N\le 10^5,1\le Q\le3\times 10^5,1\le i,j\le 2\times N$。 字符串仅由小写英文字母构成。
查看答案
赣ICP备20007335号-2