HDUOJ 6707 Shuffle Card(模拟)
solution:模拟,按照输入的顺序倒着输出,每输出一个就标记一下,遇到重复的就不再输出
#include <bits/stdc++.h>
using namespace std;
int arr[100001];
bool book[100001];
vector<int> a;
int main()
{
int n, m, temp;
cin >> n >> m;
for (int i = 0; i < n; ++i){
cin >> arr[i];
}
while (m--)
{
cin >> temp;
a.push_back(temp);
}
for (int i = a.size() - 1; i >= 0; --i)
{
if (book[a[i]])continue;
book[a[i]] = true;
cout << a[i] << ' ';
}
for (int i = 0; i < n; ++i)
{
if (!book[arr[i]])cout << arr[i] << ' ';
}
return 0;
}