def node_len(s,g):
q = []
visited = [0] * (V + 1)
# 시작점을 큐에 넣고 방문체크
visited[s] = 1
q.append(s)
while q:
r = q.pop(0)
# 하고픈 일
if r == g: # 뽑아낸곳이 골인 지점이라면?
return visited[r]-1
for w in adjl[r]: # 정점 r에서 갈 수 있는 루트
if not visited[w]: # 방문하지 않았다면
q.append(w) #큐에 정점을 넣어놔라
visited[w] = visited[r] + 1 # 시작점포함 몇개정점째인지
return 0 # 못갈경우 0 출력
T = int(input())
for tc in range(1,T+1):
V,E = map(int,input().split())
adjl = [[] for _ in range(V+1)]
for i in range(E):
n1,n2 = map(int, input().split())
adjl[n1].append(n2)
adjl[n2].append(n1)
s,g = map(int,input().split())
print(f'#{tc} {node_len(s,g)}')
실수한 부분
못갔을 경우를 제외하고 해서 9pass했었음
return 0 # 못갈경우 0 출력
'알고리즘 문제풀이' 카테고리의 다른 글
Swea D4_1226. 미로1 Python BFS (0) | 2024.02.16 |
---|---|
Swea D3_11886. 미로의 거리 Python BFS (0) | 2024.02.16 |
Swea D3_11885.피자굽기 Python Queue (0) | 2024.02.16 |
Swea D2_1225.암호생성기 Python Queue (0) | 2024.02.15 |
Swea D2_11884 회전 Python Queue (0) | 2024.02.15 |