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;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务