直接上代码
#include<bits/stdc++.h>
using namespace std;
struct change {
int p;//待移动的元素
int dis;//移动距离
};
int main() {
vector<int> arr;
int n;
cin>>n;
int m;
cin>>m;
change ss[m];
vector<int>::iterator it;
for(int i=0; i<m; i++) {
cin>>ss[i].p>>ss[i].dis;
}
for(int i=0;i<n;i++) {
arr.push_back(i+1);
}
int temp=0;
for(int j=0; j<m; j++) {
it=find(arr.begin(),arr.end(),ss[j].p);//查找指定元素 ,并获取位置
temp=*it;//存储目标值
it=arr.erase(it);
it=it+ss[j].dis;//移动到指定位置
arr.insert(it,temp);//插入
}
for(it=arr.begin(); it!=arr.end(); ++it) {
cout<<*it<<" ";
}
return 0;
}