题解 | 游游的字母翻倍
#include <iostream>
#include <list>
using namespace std;
int main() {
int n, q, head, tail;
cin >> n >> q;
list<char> s;
for(int i = 0; i< n; i++){
char t;
cin >> t;
s.push_back(t);
}
for(int i = 0; i < q; i++){
cin >> head >> tail;
auto it = s.begin();
for(int j = 0; j < n; j++, it++){
if(j >= head-1 && j <= tail -1){
s.insert(it, *it);
}
}
}
for(char it:s){
cout << it;
}
return 0;
}
// 64 位输出请用 printf("%lld")