CCF-201703-2—学生排队
题目:
代码:
#include <iostream>
using namespace std;
int main(){
int n,m,flag;
cin>>n>>m;
int A[m][2],S[n];
for(int i=0;i<n;i++){ //学生编号
S[i]=i+1;
}
for(int i=0;i<m;i++){ //调整次数
cin>>A[i][0]>>A[i][1];
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(A[i][0]==S[j]){
flag=j;
break;
}
}
if(A[i][1]>0){ //向后移动
for(int j=0;j<A[i][1];j++){
S[flag]=S[flag+1];
flag++;
}
S[flag]=A[i][0];
}else{ //向前移动
for(int j=0;j<-A[i][1];j++){
S[flag]=S[flag-1];
flag--;
}
S[flag]=A[i][0];
}
}
for(int i=0;i<n;i++){
cout<<S[i]<<" ";
}
return 0;
}