第三题

排队

有n个数(1-n), 初始时按1~n的顺序从前到后的排列。然后有m个操作,每次输入一个数x,表示要将x提到最前面去。

输入格式:
第一行两个数n和m。接下来有m个数,表示m次操作。

输出格式:
m次操作后,从前往后的输出这n个数,数间用一个空格隔开,注意:最后一个数后也有一个空格。

include

using namespace std;

int main()
{
int n, m,a[100000],b[1000000],vis[1000000],tem;
cin >> n >> m;
for (int i = 0;i < m;i++)
cin >> a[i];
for (int t = 0;t < m;t++) {
if (vis[a[m - t - 1]] == 0) {
cout << a[m - t - 1]<<" ";
vis[a[m - t - 1]] = 1;
}
}
for (int t = 0;t < n;t++) {
if (vis[t+1] == 0)
cout << t+1<<" ";
}
}

posted @ 2021-05-04 14:45  吴莫愁258  阅读(170)  评论(0编辑  收藏  举报