문제출처: https://www.acmicpc.net/problem/2644
1. 문제 접근 방식
dfs처럼 풀되 dfs 함수의 인자를 a, b, count로 두고
a의 인자를 재귀적으로 바꾸고 a==b가 성립하면 count값을 출력했다.
2. 내가 푼 코드
import sys
n = int(sys.stdin.readline())
a, b = map(int,sys.stdin.readline().split())
m = int(sys.stdin.readline())
def dfs(a, b, count):
visited[a] = True
if a == b:
print(count)
return
count+=1
for i in graph[a]:
if not visited[i]:
dfs(i, b, count)
graph=[[] for _ in range(n+1)]
visited = [False] * (n+1)
count = 0
for _ in range(m):
u, v = map(int, sys.stdin.readline().split())
graph[u].append(v)
graph[v].append(u)
dfs(a, b, count)
if visited[b] == False:
print(-1)
'[Boj문제풀이]' 카테고리의 다른 글
[Boj/백준] 14716 Python (0) | 2021.09.21 |
---|---|
[Boj/백준] 2667 Python (0) | 2021.09.21 |
[Boj/백준] 21773 Python (0) | 2021.09.18 |
[Boj/백준] 22252 Python (0) | 2021.09.17 |
[Boj/백준] 13975 Python (0) | 2021.09.16 |