AcWing 3243. 学生排队-csp10(2)
原题链接
简单
作者:
YAX_AC
,
2024-11-19 21:00:34
,
所有人可见
,
阅读 2
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1010;
int n,m;
int q[N];
int main()
{
cin>>n>>m;
for(int i = 1; i<=n; i++) q[i] = i;
while(m--)
{
int a,b;
cin>>a>>b;
int k;
for(int i = 1; i<=n; i++)
if(q[i] == a)
k = i;
if(b>0)//表示学号为 a 的同学向后移动 b
{
for(int i = 0; i<b; i++)//向后交换b次
swap(q[k+i],q[k+i+1]);
}
else
{
b = -b;
for(int i = 0; i<b; i++)
swap(q[k-i],q[k-i-1]);//向前交换b次
}
}
for(int i = 1; i<=n; i++)
cout<<q[i]<<" ";
return 0;
}