백준 2644 - 촌수 계산


백준 2644 - 촌수 계산

12345678910111213141516171819202122232425import sys def dfs(v): visit[v][0] = 1 for i in graph[v]: if visit[i][0] == 0: visit[i][1] = visit[v][1] + 1 dfs(i) n = int(sys.stdin.readline())a,b = map(int, sys.stdin.readline().split())visit = [[0] * 2 for _ in range(n+1)]graph = [[] for _ in range(n+1)] for _ in range(int(sys.stdin.readline())): fr,to = map(int, sys.stdin.readline().split()) graph[fr].append(to) graph[to].append(fr) dfs(a) if visit[b][1]: print(visit[b][1])else: print(-1)Colored by Color Scriptercs 두 사람 중 한 사람 부터 탐색을 시작해 다른 사람 까지의 depth를 출력하는 알고리즘...



원문링크 : 백준 2644 - 촌수 계산