🔻Algorithm/Baekjoon

[Baekjoon] 백준 2644 촌수계산 Python

_니지 2024. 5. 19. 21:12

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

 

import sys


input = sys.stdin.readline




n = int(input())
p1, p2 = map(int, input().split())


graph = [[] for _ in range(n+1)]
visited = [0 for _ in range(n+1)]
depth = [0 for _ in range(n+1)]


# DFS
def dfs(graph, visited, v):
    visited[v] = 1

    for i in graph[v]:
        if not visited[i]:
            depth[i] = depth[v] +1
            dfs(graph, visited, i)

    return -1


# 구현부
t = int(input())
for _ in range(t):
    a, b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)


dfs(graph, visited, p1)


if depth[p2]:
    print(depth[p2])
else:
    print(-1)
728x90
반응형