백준 문제 링크
결혼식
- BFS를 사용했다.
- 친구와 친구의 친구인지 확인했을 때 방문하지 않았다면 몇 번 방문했는지 count해준다.
- 상근이부터 방문시킨 후 친구(2)와 친구의 친구(3)가
각각 2번, 3번 count된 값의 개수를 찾는다.
from collections import deque
n = int(input())
m = int(input())
visited = [0 for i in range(n + 1)]
graph = [[] for _ in range(n + 1)]
for _ in range(m):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
def bfs(v):
queue = deque()
queue.append(v)
visited[v] = 1
while queue:
x = queue.popleft()
for i in graph[x]:
if visited[i] == 0:
visited[i] = visited[x] + 1
queue.append(i)
bfs(1) # visited 만듦
print(visited.count(2) + visited.count(3)) # 친구는 2, 친구의 친구는 3
나는 이런 문제보다 지도 문제를 더 잘 푸는 것 같다 ㅠㅠ 연습 좀 더 해야겠다.