알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - ABCDE(13023)

HRuler 2023. 8. 27. 17:52

1. 문제

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

 

13023번: ABCDE

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

www.acmicpc.net

2. 풀이

import sys
input = sys.stdin.readline

# n : 사람 수, m : 관계 수
n, m = map(int, input().split())

relationList = [[] for i in range(n)]



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

# print(relationList)
	
isFriend = False
visit = [False for i in range(n)]
	
def friendSearch(i, depth):
	global isFriend
	global relationList

	if isFriend or depth == 5:
		isFriend = True
		return
	
	for j in relationList[i]:
		if visit[j]:
			continue
		visit[j] = True
		friendSearch(j, depth+1)
		visit[j] = False

for i in range(n):
	if isFriend:
		break
	visit[i] = True
	friendSearch(i, 1)
	visit[i] = False

if isFriend:
	print(1)
else:
	print(0)