깊이 우선 탐색을 이용한 문제
# ABCDE
# 깊이가 5 이상 내려가는 노드가 존재하는지 찾으시오.
# 첫째 줄에 노드의 수 N, 엣지의 수 M이 주어진다.
# 5 이상인 노드가 존재하면 1, 존재하지 않으면 0을 출력하시오.
def DFS(v, cnt):
global arrive
if cnt == 5:
arrive = True
return
visited[v] = True
for i in A[v]:
if visited[i] == False:
DFS(i, cnt + 1)
visited[v] = False
import sys
sys.setrecursionlimit(10000)
input = sys.stdin.readline
n, m = map(int, input().split())
A = [[] for _ in range(n + 1)]
visited = [False] * (n + 1)
arrive = False
for i in range(m):
s, e = map(int, input().split())
A[s].append(e)
A[e].append(s)
for i in range(n):
DFS(i, 1)
if arrive == True: break
if arrive == True:
print(1)
else:
print(0)
'Code > Python' 카테고리의 다른 글
[Python] 백준 2178번 미로 탐색 (1) | 2023.10.05 |
---|---|
[Python] 백준 1260번 DFS와 BFS (0) | 2023.10.04 |
[Python] 백준 2023번 신기한 소수 (0) | 2023.10.03 |
[Python] 백준 11724번 연결 요소의 개수 (0) | 2023.10.02 |
[Python] 백준 10989번 수 정렬하기 3 (0) | 2023.10.01 |