题目连接:http://118.190.20.162/view.page?gpid=T56
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int n,m;
int table[1010];
int pos[1010];
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
table[i]=i;
pos[i]=i;
}
for(int i=0;i<m;i++){
int id,move;
cin>>id>>move;
if(move>0){
int end=pos[id]+move-1;
for(int j=pos[id];j<=end;j++){
pos[table[j]]=j+1;
pos[table[j+1]]=j;
swap(table[j],table[j+1]);
}
}
else
{
int end=pos[id]-abs(move)+1;
for(int j=pos[id];j>=end;j--){
pos[table[j]]=j-1;
pos[table[j-1]]=j;
swap(table[j],table[j-1]);
}
}
}
for(int k=1;k<=n;k++){
printf("%d%c",table[k],k==n?'\n':' ');
}
return 0;
}