백준

[백준] 16165번 걸그룹 마스터 준석이 (C++, 해시)

해랑쓰 2021. 10. 8. 10:40
728x90
반응형

 

해시를 두 개 만들어서 팀 이름에는 멤버리스트 저장, 멤버 이름에는 팀 이름 저장함

 

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <unordered_map>
#include <cstring>
using namespace std;


int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	unordered_map<string, vector<string>> member;
	unordered_map<string, string> group;
	int n, m;
	string team,name;
	int cnt;
	cin >> n >> m;
	for (register int i = 0; i < n; i++) {
		cin >> team >> cnt;
	
		vector<string> temp;
		for (register int j = 0; j < cnt; j++) {
			cin >> name;
			temp.push_back(name);
			group[name] = team;
		}
		member[team] = temp;
	}
	string quiz; int type;
	for (register int i = 0; i < m; i++) {
		cin >> quiz>>type;
	
		if (type == 0) {
			vector<string> ans(member[quiz]);
			sort(ans.begin(), ans.end());
			for (const auto& m : ans) {
				cout << m << "\n";
			}
		}
		else {
			cout << group[quiz] << "\n";
		}
	}


	return 0;
}
728x90
반응형