728x90
๐ ๋ฐฑ์ค 2606 - ๋ฐ์ด๋ฌ์ค(DFS)
๐ก ๋์ ํ์ด
์ฝ๋ ์
์์ ํ์๋ ๋ฌธ์ ์ธ๋ฐ, ๋ค์ ํ์ด๋ดค๋ค. DFS๋ฅผ ์ด์ฉํด์ ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋๊ฐ ์์ ๋ cnt
๋ฅผ ๋์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ๋ค.
์ค์ํ ์ ์ cnt
๋ฅผ ์ ์ญ๋ณ์๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ์ง ์์๋ค.
728x90
import sys
input = sys.stdin.readline
def dfs(graph, v, visited):
global cnt
visited[v] = True
for i in graph[v]:
if not visited[i]:
cnt += 1
dfs(graph, i, visited)
PC = int(input())
network = int(input())
graph = [[] for _ in range(PC + 1)]
visited = [False] * (PC + 1)
cnt = 0 # global variable
for i in range(network):
node1, node2 = map(int, input().split())
graph[node1].append(node2)
graph[node2].append(node1)
dfs(graph, 1, visited)
print(cnt)
๋ฐ์ํ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 7576 - ํ ๋งํ (BFS) (0) | 2021.04.20 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1926 - ๊ทธ๋ฆผ(BFS) (0) | 2021.04.20 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 11724 - ์ฐ๊ฒฐ ์์์ ๊ฐ์(DFS) (0) | 2021.04.19 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 11724 - ์ฐ๊ฒฐ ์์์ ๊ฐ์(BFS) (0) | 2021.04.19 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2468 - ์์ ์์ญ (0) | 2021.04.19 |
๋๊ธ