質問の意味:
Nの整数の正の入力(<= 100)、ノードNの入力ラインの数は、数を表すノードN-1サブノードに0についてそれぞれ含むN個の入力ラインに続きます。風雲出力レベルトラバーサルバイナリ・ソートツリー。
AAAAAcceptedコード:
1 の#define HAVE_STRUCT_TIMESPEC 2の#include <ビット/ STDC ++ H> 3 使用して 名前空間STDを、 4対< INT、INT > [ 107 ]。 5 int型 B [ 107 ]。 6 INT CNT = 0 。 7つの INT ANS [ 107 ]。 8つの ボイド DFS(int型X){ 9 もし(x == - 1 ) 10 リターン; 11の DFS([X] 1次回)。 12 ANS [X] = B [++ CNT]。 13の DFS([X] .second)。 14 } 15 空隙 BFS(int型X){ 16 キュー< INT > Q。 17 q.push(X)。 18 ながら(!{q.empty()) 19 INT今= q.front()。 20 q.pop()。 21 であれば([今] 1次回=! - 1 ) 22 q.push([今] 1次回)。 23 であれば([今] .second =! - 1 ) 24 q.push([今] .second)。 25 もし(!今= x)の 26 coutの<< " " ; 27 COUT << ANS [今]。 28 } 29 } 30 INT メイン(){ 31の IOS :: sync_with_stdio(偽)。 32 cin.tie(NULL)。 33 cout.tie(NULL)。 34 INT N。 35 CIN >> N。 36 のために(INT iは= 1 ; iが<= N; ++ I){ 37 のint X、Y。 38 CIN >> X >> Y。 39 [I- 1 ] = {X、Y}; 40 } 41 のために(INT iは= 1 ; iが<= N; ++ I) 42 CIN >> B [i]は、 43 ソート(B + 1、B + 1 + N)。 44の DFS(0 )。 45の BFS(0 )。 46 リターン 0 ; 47 }