https://www.acmicpc.net/problem/2644 문제이해 n 명의 사람이 존재할 때 주어진 조건을 보고 두 사람의 촌수를 구하라. 친척 관계가 아니라면 -1 출력.
풀이 그래프로 그렸을 때 하나의 간선은 1촌을 의미한다. 불필요한 변수의 사용이나 효율성을 위해서 단방향 그래프로 해결해 볼 수 있을까 고민했는데 7에서 3으로 갈 때 부모 방향으로 갔다가 다시 자식 방향으로 내려와야 해서 불가능하다고 판단하고 양방향 그래프로 풀었다.
(BFS 활용) 코드 import sys from collections import deque n = int(sys.stdin.readline()) f,s = map(int,sys.stdin.readline().split()) m = int(sys.stdin.readline()) graph = [[False]*(n+1) for _ in range(n+1)] visited = [False] * (n+1) for _ in range(m): a...
원문 링크 : [백준 2644] 촌수계산