CodeLabs

[백준 / C++] 1764 : 듣보잡 본문

백준/1000 ~

[백준 / C++] 1764 : 듣보잡

무오_ 2023. 7. 21. 18:43
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>

#define pp pair<int,string>

using namespace std;

int n, m, idx = 0;
string str;
map<string, bool> mm;
map<int, string> answer;

bool compare(const pp& a, const pp& b)
{
	if (a.second == b.second) 
		return a.first < b.first;
	return a.second < b.second;
}

int main()
{
	cin >> n >> m;
	for (int i = 0; i < n; i++)
	{
		cin >> str;
		mm[str] = true;
	}
	for (int i = 0; i < m; i++)
	{
		cin >> str;
		if (mm[str])
		{
			answer[idx] = str;
			idx++;
		}
	}
	vector<pp> vec(answer.begin(), answer.end());
	vector<pp>::iterator iter;
	sort(vec.begin(), vec.end(), compare);
	cout << answer.size() << endl;
	for (iter = vec.begin(); iter != vec.end(); iter++)
		cout << iter->second << endl;
}