AcWing 3243. 学生排队
原题链接
简单
作者:
ywt51
,
2023-05-23 16:22:24
,
所有人可见
,
阅读 43
算法1:数组模拟(暴力) $O(n^2)$
//数组模拟移动过程
#include <bits/stdc++.h>
using namespace std;
const int N = 1E3+10;
int a[N], n, m;
int main() {
cin >> n >> m;
for (int i = 1; i <= n; ++ i) a[i] = i;
while (m--) {
int x, y, k;
cin >> x >> y;
for (int i = 1; i <= n; ++ i)
if (a[i] == x) {
k = i;
break;
}
if (y > 0) {
while (y--) {
swap(a[k], a[k+1]);
k++;
}
} else {
y = -y;
while (y--) {
swap(a[k], a[k-1]);
k--;
}
}
}
for (int i = 1; i <= n; ++ i)
cout << a[i] << ' ';
return 0;
}