BOJ 11725ツリーの親を検索
7842 ワード
https://www.acmicpc.net/problem/11725
1秒、256 MBメモリ
input : N (2 ≤ N ≤ 100,000) a b(ツリーに接続された2つの頂点) output : 各ノードの親ノード番号は、2つのノードから順に出力 である.
条件:ツリーのルートが1の場合、各ノードの親ノードを求めるためのプログラム 双方向のグラフィックを保存するように、隣接するリストに保存します.
parentは自分で初期化します.
visitの代わりに使うこともできます.
1秒、256 MBメモリ
input :
条件:
graph = [[] for i in range(n + 1)]
for i in range(n - 1):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
parent 1次元リストを作成して保存します.parentは自分で初期化します.
parent = [i for i in range(n + 1)]
だから自分に教えなければ、もう訪問しました.visitの代わりに使うこともできます.
import sys
from _collections import deque
n = int(sys.stdin.readline())
graph = [[] for i in range(n + 1)]
parent = [i for i in range(n + 1)]
for i in range(n - 1):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
def BFS():
start = 1
q = deque([start])
while q:
now = q.popleft()
for next_node in graph[now]:
if parent[next_node] == next_node:
parent[next_node] = now
q.append(next_node)
BFS()
for i in range(2, len(parent)):
print(parent[i])
Reference
この問題について(BOJ 11725ツリーの親を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-11725-트리의-부모-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol