※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 26069번 문제인 붙임성 있는 총총이이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/26069 

 

26069번: 붙임성 좋은 총총이

첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$

www.acmicpc.net

set을 이용해 문제를 해결해보자.

 

현재 무지개 댄스를 추고 있는 사람들의 집합을 하나 만들어, 두 사람이 만날 때마다 어느 한 명이 무지개 댄스를 추고 있다면 다른 사람을 집합에 추가하는 것을 반복하자. 이 과정이 끝나면 이 집합에는 무지개 댄스를 추고 있는 사람들이 모두 저장된다.

 

위 set의 크기를 출력해 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <set>
#include <string>
using namespace std;

int N;
set<string> st;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	st.insert("ChongChong");

	cin >> N;
	while (N--) {
		string s1, s2; cin >> s1 >> s2;
		if (st.count(s1)) st.insert(s2);
		else if (st.count(s2)) st.insert(s1);
	}

	cout << st.size();
}
728x90

+ Recent posts