#include<bits/stdc++.h>
using namespace std;
map<int,int> que; //學生學號 ---> 位置
int n = 0 ,p = 0, q = 0;
void move(int p ,int q)
{
if(q >= 0)
{
int start = que[p];
int end = que[p]+q;
for(auto iter = que.begin(); iter != que.end(); ++iter)
{
if(iter->second > start && iter->second <= end )
{
iter->second -= 1;
}
}
que[p] += q;
}
else if(q < 0)
{
int start = que[p] + q;
int end = que[p];
for(auto iter = que.begin(); iter != que.end(); ++iter)
{
if(iter->second >= start && iter->second < end )
{
iter->second += 1;
}
}
que[p] += q;
}
}
int main()
{
cin >> n;
for(int i = 1; i <= n; ++i)
{
que[i] = i;
}
int m = 0;
cin >> m;
for(int i = 1; i <= m ; ++i)
{
cin >> p >> q;
move(p,q);
}
for(int i = 1; i <= n; ++i) //按位置輸出學號
{
for(auto iter = que.begin(); iter != que.end(); ++iter)
{
if(iter->second == i)
{
cout << iter->first <<' ';
}
}
}
return 0;
}
提交結果: