题解 | 游游的字母翻倍
# n 表示查询(操作)的次数 length, n = map(int, input().split()) char = input() for i in range(n): a, b = map(int, input().split()) # 将 1-based 索引转换为 0-based 索引 a -= 1 b -= 1 while a <= b: # 将 s 中索引 l 处的字符复制到其后面 # s[:l+1] 是字符串从开始到 l(包括 l)的部分 # s[l] 是要复制的字符 # s[l+1:] 是从 l+1 到字符串末尾的部分 char = char[: a + 1] + char[a] + char[a + 1 :] # 更新 l 和 r 以处理下一个字符 # l 增加 2,因为我们在 l 处插入了一个字符,所以下一个要处理的字符索引增加了 2 # r 增加 1,因为字符串长度增加了,我们需要保持 r 指向原范围的末尾 a += 2 b += 1 print(char)