#include <bits/stdc++.h> using namespace std; int a[100],b[100]; int i,j,n,order,x,y,m,k; int main() { cin>>m>>n; //m张牌 for(i = 1; i <= m; i++) { cin>>a[i]; } for(i = 1; i <= n; i++) { cin>>order; //切牌 if(order == 1) { k = 1;//下标清零 cin>>x>>y; for(j = x; j <= y; j++) { b[k] = a[j]; k++; } for(j = 1; j < x; j++) { b[k] = a[j]; k++; } for(j = y + 1; j <= m; j++) { b[k] = a[j]; k++; } //拷贝回去 for(j = 1; j <= m; j++) { a[j] = b[j]; } } else { for(j = 1; j <= m / 2; j++) { b[j*2-1]=a[j]; b[j*2]=a[m/2+j]; } for(j = 1; j <= m; j++) { a[j] = b[j]; } } } for(i = 1; i <= m; i++) { cout<<a[i]<<" "; } } /************************************************************** Problem: 1564 User: admin Language: C++ Result: Accepted Time:48 ms Memory:2072 kb ****************************************************************/