๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Python] ๋ฐฑ์ค€ 1260 & ๋ฐฑ์ค€ 11724 ๋ณธ๋ฌธ

๋ฐฑ์ค€ 1260

# ๋ฐฑ์ค€ 1260
from collections import deque
n, m, v = map(int, input().split())
graph = [[] for _ in range(n+1)]
for _ in range(m):
    a, b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

def bfs(start_node):
    queue = deque()
    queue.append(start_node)
    visited[start_node] = True
    while queue:
        now = queue.popleft()
        print(now, end=" ")
        for next_node in graph[now]:
            if not visited[next_node]:
                queue.append(next_node)
                visited[next_node] = True

def dfs(node):
    visited[node] = True
    print(node, end=" ")
    for next in graph[node]:
        if not visited[next]:
            dfs(next)

for i in graph: # ์ •์ ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ๊ฒƒ์„ ๋จผ์ € ๋ฐฉ๋ฌธ
    i.sort()

visited = [False] * (n + 1)
dfs(v)
print()
visited = [False] * (n + 1)
bfs(v)

 

๋ฐฑ์ค€ 11724

# ๋ฐฑ์ค€ 11724

from collections import deque
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
graph = [[] for _ in range(n+1)]
visited = [False] * (n+1)
queue = deque()
for _ in range(m):
    a, b= map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

def bfs(i):
    queue.append(i)
    visited[i] = True
    while queue:
        now = queue.popleft()
        for next in graph[now]:
            if not visited[next]:
                queue.append(next)
                visited[next] = True

cnt = 0
for i in range(1, n + 1):
    if not visited[i]:
        bfs(i)
        cnt += 1
print(cnt)

 

 

์˜ค๋žœ๋งŒ์— ์ฝ”ํ…Œ๋ฅผ ๋‹ค์‹œ ํ’€์–ด๋ดฃ๋‹ค

๋งˆ๋‹ˆ ๊นŒ๋จน์–ด์„œ ๊ฐ์žก์„๋ ค๊ตฌ ์‰ฌ์šด bfs๋ฌธ์ œ๋ถ€ํ„ฐใ…Ž

์•ž์œผ๋กœ ๋งค์ผ 2๋ฌธ์ œ ์—…๋กœ๋“œ ๋„์ „!!^_^...