Code/Python

[Python] 백준 13203번 ABCDE

ki1111m2 2023. 10. 3. 19:12

깊이 우선 탐색을 이용한 문제

# 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)