[알고리즘/백준] 15591번 : MooTube(python)

유현민·2022년 6월 13일
0

알고리즘

목록 보기
207/253

기본 bfs문제이다.

각 경로를 저장해준다.
bfs를 이용하여 하나씩 가져오고 만약 K보다 크다면 q에 넣어주고 cnt += 1

from collections import defaultdict, deque


def bfs(k, v):
    visited = [0] * (N + 1)
    q = deque()
    q.append(v)
    visited[v] = 1
    cnt = 0
    while q:
        v = q.popleft()
        for i in graph[v]:
            if not visited[i[0]]:
                if i[1] >= k:
                    q.append(i[0])
                    cnt += 1
                    visited[i[0]] = 1
    return cnt


if __name__ == "__main__":
    N, Q = map(int, input().split())
    graph = defaultdict(list)
    for _ in range(N - 1):
        a, b, c = map(int, input().split())
        graph[a].append((b, c))
        graph[b].append((a, c))
    for _ in range(Q):
        k, v = map(int, input().split())
        print(bfs(k, v))
profile
smilegate megaport infra

0개의 댓글