코드
import sys
sys.setrecursionlimit(10**9)
input = sys.stdin.readline
a = int(input())
tree = [[] for _ in range(a+1)]
visited = [False] * (a+1) # for 방문여부 체크
parents = [0] * (a+1) # for 부모노드 기록
# 그래프 작성
for _ in range(a-1):
x,y = map(int, input().split())
tree[x].append(y)
tree[y].append(x)
def dfs(v, graph, visit_check):
visit_check[v] = True # 방문 여부 확인
for i in graph[v]:
if visit_check[i] != True:
parents[i] = v
dfs(i, graph, visit_check)
return 0 # 임의의 함수 반환값. 확인할 것은 parent이므로 반환값은 중요하지 않다.
dfs(1, tree, visited)
for i in range(2, a+1):
print(parents[i])
10/27 재시도 코드
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
node = int(input())
graph =[[] for _ in range(node+1)]
visited = [0] * (node + 1)
for _ in range(node-1):
x, y = map(int, input().split())
graph[x].append(y)
graph[y].append(x)
def dfs(i):
for k in graph[i]:
if not visited[k]:
visited[k] = i
dfs(k)
dfs(1)
for i in range(2, node+1):
print(visited[i])
'백준' 카테고리의 다른 글
[백준] 21736번 헌내기는 친구가 필요해 파이썬 코드 (0) | 2023.09.14 |
---|---|
[백준] 11724번 연결 요소의 개수 파이썬 코드 (0) | 2023.09.12 |
[백준] 2869번 달팽이는 올라가고 싶다 파이썬 코드 (0) | 2023.09.12 |
[백준] 23251번 스물셋 파이썬 코드 (0) | 2023.09.12 |
[백준] 20582번 끝말잇기 파이썬 코드 (0) | 2023.09.12 |
코드
import sys
sys.setrecursionlimit(10**9)
input = sys.stdin.readline
a = int(input())
tree = [[] for _ in range(a+1)]
visited = [False] * (a+1) # for 방문여부 체크
parents = [0] * (a+1) # for 부모노드 기록
# 그래프 작성
for _ in range(a-1):
x,y = map(int, input().split())
tree[x].append(y)
tree[y].append(x)
def dfs(v, graph, visit_check):
visit_check[v] = True # 방문 여부 확인
for i in graph[v]:
if visit_check[i] != True:
parents[i] = v
dfs(i, graph, visit_check)
return 0 # 임의의 함수 반환값. 확인할 것은 parent이므로 반환값은 중요하지 않다.
dfs(1, tree, visited)
for i in range(2, a+1):
print(parents[i])
10/27 재시도 코드
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
node = int(input())
graph =[[] for _ in range(node+1)]
visited = [0] * (node + 1)
for _ in range(node-1):
x, y = map(int, input().split())
graph[x].append(y)
graph[y].append(x)
def dfs(i):
for k in graph[i]:
if not visited[k]:
visited[k] = i
dfs(k)
dfs(1)
for i in range(2, node+1):
print(visited[i])
'백준' 카테고리의 다른 글
[백준] 21736번 헌내기는 친구가 필요해 파이썬 코드 (0) | 2023.09.14 |
---|---|
[백준] 11724번 연결 요소의 개수 파이썬 코드 (0) | 2023.09.12 |
[백준] 2869번 달팽이는 올라가고 싶다 파이썬 코드 (0) | 2023.09.12 |
[백준] 23251번 스물셋 파이썬 코드 (0) | 2023.09.12 |
[백준] 20582번 끝말잇기 파이썬 코드 (0) | 2023.09.12 |