배부른 마라토너
문제 링크: https://www.acmicpc.net/problem/10546
동명이인이 있을 수 있다고 하니 multimap을 통해 각 데이터를 받는다.
또한 다른 사람이므로 구분을 짓기 위해 value를 index로 받는다.
그 후 들어온 사람들의 명단을 통해 이름을 삭제하고, 남은 단 한명의 데이터를 출력한다.
-
정답 코드
#include<iostream> #include<map> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); multimap<string, int> memberlist; int n; cin >> n; for (int i = 0; i < n; i++) { string name; cin >> name; memberlist.insert(pair<string, int>(name, i)); } while (--n) { string name; cin >> name; memberlist.erase(memberlist.find(name)); } if (!memberlist.empty()) cout << memberlist.begin()->first << "\n"; return 0; }
'ProblemSolving' 카테고리의 다른 글
[BOJ] 1269_대칭 차집합 (0) | 2021.02.08 |
---|---|
[BOJ] 1276_교각 놓기 (0) | 2021.02.07 |
[BOJ] 7785_회사에 있는 사람 (0) | 2021.02.05 |
[BOJ] 5397_키로커 (0) | 2021.02.04 |
[BOJ] 3085_사탕게임 (4) | 2021.02.03 |
최근댓글