题解 | 游游的字母翻倍
#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")