반응형
import sys
sys.setrecursionlimit(10**9)
sys.stdin = open("input.txt")

input = sys.stdin.readline


n, m, r = map(int, input().split())

node = [[]for _ in range(n+1)]

for i in range(m):
    u, v = map(int, input().split())
    node[u].append(v)
    node[v].append(u)

for j in range(n+1):
    node[j].sort()

def dfs(v):
    global cnt
    visited[v] = cnt
    for i in node[v]:
        if not visited[i]:
            cnt+=1
            dfs(i)

cnt = 1

visited = [0] * (n + 1)
dfs(r)

for _ in range(1, n+1):
    print(visited[_])
반응형

+ Recent posts