BOJ 2644カウント


人間関係の問題はbfsで解決しなければならないようだ.問題はよく知らないので,人の助けを得てやっと解けた.
私から遠くなればなるほど、寸法が遠くなればなるので、キューに入るたびに、以前の重み+1を与えます.
キューから取得した人の番号が必要な場合は、その人のカウントを出力し、bfsが終了する前にカウントがない場合は-1を返します.
from collections import deque

n = int(input())

adj = [[] for _ in range(n+1)]
dist = [0] * (n+1)

me, you = map(int, input().split())

m = int(input())

for _ in range(m):
	u, v = map(int, input().split())
	adj[u].append(v)
	adj[v].append(u)

def bfs():

	q = deque()
	q.append(me)
	while q:
		now = q.popleft()
		if now == you:
			return dist[now]
		for u in adj[now]:
			if dist[u] == 0:
				q.append(u)
				dist[u] = dist[now] + 1
	return -1

print(bfs())