문제
https://www.acmicpc.net/problem/1068
코드
n=int(input())
graph=[[]*n for _ in range(n)]
array=list(map(int, input().split()))
for i,k in enumerate(array):
if k>=0:
graph[k].append(i)
else:
start=i
re=int(input())
if re==start:
print(0)
exit(0)
result=0
find=0
for i in range(n):
for j in range(len(graph[i])):
if re==graph[i][j]:
find=i
graph[find].remove(re)
def dfs(x):
global result
if not graph[x]:
result+=1
return
for i in graph[x]:
dfs(i)
dfs(start)
print(result)
'문제풀이 > DFS & BFS' 카테고리의 다른 글
[파이썬] [DFS] 백준 14500 테트로미노 (0) | 2022.05.15 |
---|---|
[파이썬] [BFS] 백준 1707 이분 그래프 (0) | 2022.05.11 |
[PyPy] [DFS] 백준 2580 스도쿠 (0) | 2022.05.05 |
[파이썬] [DFS] 백준 1987 알파벳 (0) | 2022.05.02 |
[파이썬] [BFS] 백준 2206 벽 부수고 이동하기 (0) | 2022.04.09 |