๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
๋ฌธ์ ๋ ์ด์ด์ ธ์๋ ์น๊ตฌ๊ฐ 4๋ช
์ธ์ง ๋ฌผ์ด๋ณด๋ ๊ฒ... ( ํท๊ฐ๋ ธ๋ค )
๊ธฐ๋ณธ์ ์ธ DFS ๋ฌธ์ ์ด๋ค. ์ค๊ฐ์ ์กฐ๊ฑด์ ์ค์ ์ ๋ฉ์ถฐ์ฃผ๊ธฐ๋ง ํ๋ค๋ฉด ์๊ฐ์ด๊ณผ๋ ํด๊ฒฐ๋ ๊ฒ์ด๋ค.
๐ป์์ค ์ฝ๋
import sys
def dfs(current, cnt):
global answer
if answer == 1: # ๋ต์ ์ด๋ฏธ ์ฐพ์๋ค๋ฉด dfs ๋ฉ์ถ๊ธฐ
return
if cnt == 5: # ๋ต ์ฐพ์์ ๋ (์น๊ตฌ๊ฐ 4๋ช
)
answer = 1
return
visited[current] = 1
for neighbor in adj[current]:
if not visited[neighbor]:
dfs(neighbor, cnt + 1)
visited[current] = 0
input = sys.stdin.readline
answer = 0
N, M = map(int, input().split())
adj = [[] for _ in range(N)]
for _ in range(M):
a, b = map(int, input().split())
adj[a].append(b)
adj[b].append(a)
visited = [0 for _ in range(N)]
for i in range(N):
if not visited[i]:
dfs(i, 1)
print(answer)
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 1148. ๋จ์ด ๋ง๋ค๊ธฐ (0) | 2021.09.06 |
---|---|
[python] ๋ฐฑ์ค - 1105. ํ (0) | 2021.09.05 |
[python] ๋ฐฑ์ค - 2615. ์ค๋ชฉ (2) | 2021.09.03 |
[python] ๋ฐฑ์ค - 1052. ๋ฌผ๋ณ (0) | 2021.09.02 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ(์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1) (0) | 2021.09.01 |