반응형
https://www.acmicpc.net/problem/1380
자료구조 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
t를 선언 후 for loop를 수행하며 n이 0일 때까지 입력받습니다. 이후 이름 list를 저장할 vector name을 선언, 서순의 오류가 없도록 unordered_map m, string s를 선언해줍니다.
📔 풀이과정
귀걸이가 어처피 쌍으로 주어지므로 A, B여부는 중요하지 않습니다. m에 학생이름의 번호를 key, value를 2(귀걸이의 개수)로 저장해줍니다. 이 후 하나씩 제거해줍니다.
📔 정답출력
귀걸이를 돌려받지 않았다면 남은 귀걸이가 존재할 것입니다. m의 모든 원소를 살펴 존재한다면 형식에 맞게 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int main(){
for(int t = 1; ;t++){
int n;
cin >> n;
if(!n) break;
vector <string> name;
unordered_map <int,int> m;
string s;
cin.ignore();
for(int i = 1; i <= n; i++) {
getline(cin,s);
m[i] = 2;
name.push_back(s);
}
for(int i = 0; i < 2 * n - 1; i++){
int a; char c;
cin >> a >> c;
m[a]--;
}
for(auto el : m){
if(el.second) cout << t << ' ' << name[el.first-1] << '\n';
}
}
}
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - 백준(BOJ) 11576 : Base Conversion (0) | 2022.03.25 |
---|---|
(C++) - 백준(BOJ) 1417 : 국회의원 선거 (2) | 2022.03.03 |
(C++) - 백준(BOJ) 1864 : 문어 숫자 (0) | 2021.11.20 |
(C++) - 백준(BOJ) 5766번 : 할아버지는 유명해! (0) | 2021.09.30 |
(C++) - 백준(BOJ) 2075번 : N번째 큰 수 (0) | 2021.09.01 |