Updated:

โœ๏ธ๐Ÿ‘€

dfs๋ฅผ ์ด์šฉํ–ˆ๋‹ค.

๐Ÿ’ป code

import sys
input = sys.stdin.readline

c = int(input())
n = int(input())

graph = [[] for _ in range(c+1)]
visited = [0] * (c+1)

for _ in range(n):
    c1, c2 = map(int, input().split())
    graph[c1].append(c2)
    graph[c2].append(c1)


def dfs(node):
    visited[node] = 1
    for i in graph[node]:
        if not visited[i]:
            dfs(i)


dfs(1)
print(sum(visited)-1)


์ด๋•Œ visited๋Š” True/Fals ๊ฐ€ ์•„๋‹Œ 1/0 ์˜ ๊ฐ’์„ ๊ฐ–๋„๋ก ํ–ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ตœ์ข… ๋‹ต์„ ๊ตฌํ•  ๋•Œ sum(visited)๋ฅผ ์ด์šฉํ•ด ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Reference

Leave a comment