티스토리 뷰

728x90

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

 

5567번: 결혼식

예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def bfs(v):
    global cnt
    queue.append([v, 0])
    check[v] = 1
    while queue:
        v, dist = queue[0][0], queue[0][1]
        del queue[0]
        if dist <= 2:
            cnt += 1
        for i in friends[v]:
            if not check[i]:
                check[i] = 1
                queue.append([i, dist+1])
 
 
= int(input())
= int(input())
friends = [[] for _ in range(n+1)]
check = [0 for _ in range(n+1)]
queue = []
for _ in range(m):
    a, b = map(int, input().split())
    friends[a].append(b)
    friends[b].append(a)
cnt = 0
bfs(1)
print(cnt-1)
cs

 

댓글