兄弟你这一行代码也是真的秀。 #include <bits/stdc++.h> #include <ext/rope>//函数头文件 using namespace __gnu_cxx; using namespace std; const int maxn=1e5+10; rope<int> T; int n,m; int main() { scanf("%d%d",&n,&m); for (int i=1; i<=n; i++) T.push_back(i); while (m--) { int p,s; scanf("%d%d",&p,&s); p--; T=T.substr(p,s) + T.substr(0,p) + T.substr(p+s,n-p-s); //洗牌后的顺序 中间 +前部 +后面 } for (int i=0; i<n; i++) printf("%d ",T[i]); return 0; }