๐ ๋ฌธ์
https://velog.io/@falling_star3/๋ฐฑ์คPython-1260๋ฒ-DFS์BFS
[๋ฐฑ์ค][Python] 1260๋ฒ DFS์ BFS(DFS/BFS ๊ธฐ๋ณธ ๊ตฌํ ์์ธํ)
https://www.acmicpc.net/problem/1000๋ ์ ์ A์ B๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค์, A+B๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์ ๋ ฅ์ฒซ์งธ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)์ถ๋ ฅ์ฒซ์งธ ์ค์ A+B๋ฅผ ์ถ๋ ฅํ๋ค.์ ์ถ๋ ฅ ์
velog.io
๐์คํ๊ฒฐ๊ณผ
๐ ๋ด๊ฐ ์๊ฐํ ํ์ด
๐ป ๋ต์
#1260
n,m,v =map(int, input().split())
# n : ์ ์ ์ ๊ฐ์, m : ๊ฐ์ ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ. v : ํ์ ์์ํ ์ ์ ๋ฒํธ
# ๋ฐฉ๋ฌธํ ๋ฆฌ์คํธ ๋ชจ์, ์ด๊ธฐ๊ฐ 0
visited1 = [0]*(n+1)
visited2 = visited1.copy()
# 0์ผ๋ก ์ฑ์์ง n๊ฐ์ 2์ฐจ์ ํ๋ ฌ ์์ฑ
graph = [[0]*(n+1) for _ in range(n+1)]
# ๋ ์ ์ ์ ๋ฒํธ๋ฅผ ๊ทธ๋ํ์ 1๋ก ๋ณ๊ฒฝ
for i in range (m):
a,b = map(int, input().split())
graph[a][b] = graph[b][a] = 1
# dfs ํจ์ - ์ฌ๊ทํจ์
def dfs(v):
# ๋ฐฉ๋ฌธ์ 1๋ก ๋ณ๊ฒฝ
visited1[v] = 1
print(v, end = ' ')
for i in range(1,n+1):
if graph[v][i] == 1 and visited1[i] == 0:
dfs(i)
# bfsํจ์
def bfs(v):
queue = [v]
visited2[v] = 1
while queue:
v = queue.pop(0)
print(v, end =' ')
for i in range(1,n+1):
if(visited2[i] == 0 and graph[v][i] == 1):
queue.append(i)
visited2[i] = 1
dfs(v)
print()
bfs(v)
โบ๏ธ ๋ด ์ฝ๋์์ ๋ณด์ํด์ผ ํ ์
์ด๋ ค์์ ์ฐธ๊ณ ์๋ฃ๋ณด๊ณ ๊ฑฐ์ ํด๊ฒฐ. ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ ๋ ํด์ผํจ
๐ ์ฐธ๊ณ
https://velog.io/@falling_star3/๋ฐฑ์คPython-1260๋ฒ-DFS์BFS
[๋ฐฑ์ค][Python] 1260๋ฒ DFS์ BFS(DFS/BFS ๊ธฐ๋ณธ ๊ตฌํ ์์ธํ)
https://www.acmicpc.net/problem/1000๋ ์ ์ A์ B๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค์, A+B๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์ ๋ ฅ์ฒซ์งธ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)์ถ๋ ฅ์ฒซ์งธ ์ค์ A+B๋ฅผ ์ถ๋ ฅํ๋ค.์ ์ถ๋ ฅ ์
velog.io
'Algorithm > DFS&BFS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์ฝํ ] DFS/BFS/ ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ (0) | 2024.10.30 |
---|---|
[์ด์ฝํ ]DFS/BFS/ ์๋ฃ์ ์ผ๋ ค๋จน๊ธฐ (1) | 2024.10.22 |
9466๋ฒ/DFS ํ ํ๋ก์ ํธ/ํ์ด์ฌ (0) | 2024.09.29 |
1240๋ฒ/DFS ๋ ธ๋์ฌ์ด๊ฑฐ๋ฆฌ/ํ์ด์ฌ (2) | 2024.09.28 |
10026๋ฒ/ BFS ์ ๋ก์์ฝ/ ํ์ด์ฌ (1) | 2024.09.13 |