🗝️ Algorithm/🟩 백준

🟩 [백준] [Python] [Gold5] 13023번_ABCDE

Dbswnstjd 2023. 5. 11. 16:24

문제

https://www.acmicpc.net/problem/13023

 

13023번: ABCDE

문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다.

www.acmicpc.net

풀이

# 백준 13023번 문제 - ABCDE
# dfs
import sys
input = sys.stdin.readline
sys.setrecursionlimit(100000)

n, m = map(int , input().split())
visited = [0]*(n)
graph = [ [] for _ in range(n) ]
answer = 0

for _ in range(m):
    a,b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

def dfs(start , depth):
    global answer
    visited[start] = 1
    if depth == 4:
        answer = True
        return
    for i in graph[start]:
        if visited[i] == 0:
            dfs(i , depth+1)
    visited[start]=0

for i in range(n):
    dfs(i ,0)
    if answer:
        break
if answer:
    print(1)
else:
    print(0)

DFS로 풀 수 있는 문제이다. 

친구들의 관계를 graph에 넣어주고 방문처리를 통해 재귀를 돌면 된다.