반응형
📖 문제
📃 코드
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline
N, M = map(int, input().split())
relation = [[] for i in range(N)]
visited = [False] * (N+1)
ans = False
for i in range(M):
a, b = map(int, input().split())
relation[a].append(b)
relation[b].append(a)
def dfs(idx, depth):
global ans
visited[idx] = True
# 1. 종료조건
# case A-B-C-D-E 같은 친구 관계가 있는지 검사
if depth == 4:
ans = True
return
# 2. 수행문
for nx in relation[idx]:
if visited[nx] == False:
dfs(nx, depth+1)
visited[nx] = False
for i in range(N):
dfs(i, 0)
visited[i] = False
if ans:
break
print(1 if ans else 0)
🔗 링크
https://www.acmicpc.net/problem/13023
'Study & Project ✏️ > 알고리즘 📋' 카테고리의 다른 글
백준[Python] 2667.단지번호붙이기 - 파이썬 (0) | 2022.11.16 |
---|---|
백준[Python] 11724.연결 요소의 개수 - 파이썬 (0) | 2022.11.13 |
백준[Python] 1260.DFS와 BFS - 파이썬 (0) | 2022.11.13 |
프로그래머스[Python] 네트워크 - 파이썬 (0) | 2022.11.13 |
프로그래머스[Python] 타겟 넘버 - 파이썬 (0) | 2022.11.12 |