白駿-13023号ABCDE
質問リンク
a-b-c-d-eのように、全部で5つの接続があることを確認します!接続されている場合は1を出力し、接続されていない場合は0を出力します.
深さ優先探索または幅優先探索は、ノードの深さ(深さ)を求めることができる必要があります.
筆者はdfsを用いてcount変数によりノードの深さを理解する.
😊 問題の概要
a-b-c-d-eのように、全部で5つの接続があることを確認します!接続されている場合は1を出力し、接続されていない場合は0を出力します.
😂 key point!!
深さ優先探索または幅優先探索は、ノードの深さ(深さ)を求めることができる必要があります.
筆者はdfsを用いてcount変数によりノードの深さを理解する.
n,m = map(int, input().split())
graph = [[] for _ in range(n)]
for _ in range(m):
a,b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
# 깊이를 나타내는 count == 4인 것을 나타내기 위한 전역 변수
check = [0]
def dfs(graph,v,visited,count):
visited[v] = True
if count == 4:
check[0] = 1
return
for i in graph[v]:
if visited[i] == False:
dfs(graph,i,visited,count+1)
visited[i] = False #노드의 다른 길 방문을 위해 리셋
result = 0
visited = [False] * n
for i in range(n):
visited[i] = [False] #방문기록을 나타내는 visited 리셋
dfs(graph,i,visited,0)
if check[0] == 1:
result = 1
break
if result == 1:
print(1)
else:
print(0)
Reference
この問題について(白駿-13023号ABCDE), 我々は、より多くの情報をここで見つけました https://velog.io/@turtle601/백준-13023번-ABCDEテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol