#include<iostream>
#include<vector>
//这里使用vector进行处理
//原因有三:
//1、vector可以使用指针找到数字
//2、vector不需要是变长数组,适合这种不知道大小的情况
//3、vector添加删除任意数字之后,其余数字自动调整位置不需要手动操作
using namespace std;
struct handle{
int number;
int order;
};
int main()
{
//输入
int n, m, num, ord;
handle hand[1005];
vector<int> que;
cin >> n >> m;
for(int i = 0; i < n; i++)
que.push_back(i+1);
for(int i = 0; i < m; i++)
{
cin >> num >>ord;
hand[i].number = num;
hand[i].order = ord;
}
//首先是把每一个命令遍历一遍
for(int i = 0; i < m; i++)
{
//然后是根据每一个命令找到所属的内容
for(vector<int>::iterator it = que.begin(); it !=que.end(); it++)
{
if(*it == hand[i].number)
{
que.erase(it);
it = it + hand[i].order;
que.insert(it,hand[i].number);
}
}
}
for(int i =0; i < n; i++)
{
cout << que[i] << " ";
}
return 0;
}
CCF CSP 学生排队
最新推荐文章于 2023-03-08 21:54:24 发布