-
[백준] 5567번 문제 (결혼식) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 7. 10:53
https://www.acmicpc.net/problem/5567
import sys import collections input = sys.stdin.readline n = int(input()) m = int(input()) graph = collections.defaultdict(list) friends = set() for i in range(m): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) if not graph[1]: print(0) else: for i in graph[1]: friends.add(i) if i in graph: for j in graph[i]: friends.add(j) print(len(friends) - 1)
친구와, 친구의 친구를 구하면 되는 문제다.
입력받은 친구 관계를 딕셔너리로 만든 후,
graph[1]의 값들과, 이 값들로 한 번 더 graph[n]의 값들을 구하면 친구의 친구 관계까지 구할 수 있다.
양방향 그래프이기때문에 친구 숫자를 구하는 과정에서 1도 들어갈 수 있다. 따라서 set - 1로 친구 숫자를 구한다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 16953번 문제 (A → B) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 1010번 문제 (다리 놓기) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 11866번 문제 (요세푸스 문제 0) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 1697번 문제 (숨바꼭질) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 11399번 문제 (ATM) 파이썬(Python) 풀이 (0) 2021.09.06