北郵OJ樹查詢

2021-09-12 17:16:50 字數 690 閱讀 2634

有一棵樹,輸出某一深度的所有節點,有則輸出這些節點,無則輸出empty。該樹是完全二叉樹。

輸入描述:

輸入有多組資料。

每組輸入乙個n(1<=n<=1000),然後將樹中的這n個節點依次輸入,再輸入乙個d代表深度。

輸出描述:

輸出該樹中第d層得所有節點,節點間用空格隔開,最後乙個節點後沒有空格。

示例1輸入

41 2 3 42輸出

2 3

#include

#include

intmain()

int d;

//樹層數

scanf

("%d"

,&d)

;int x=

pow(

2,d-1)

;//求得d層第乙個數的座標

int y=

pow(

2,d)-1

;//求得d層節點總個數

for(

int i=x;i<=y;i++

)else}}

}return0;

}

若擔心pow()函式會產生精度問題可以用迴圈求得x,y,如下例。但此前已在牛客網提交通過。

int x=1;

while(d--)

int y=2*x-1;

北郵OJ打牌

牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,66,77,99可壓過 3 三張 如444 規則如 2 4 四張 如4444 規則如 2 5 五張 牌型只有12345 23456...

北郵OJ虛數

乙個複數 x iy 集合,兩種操作作用在該集合上 1 pop 表示讀出集合中複數模值最大的那個複數,如集合為空 輸出 empty 不為空就輸出最大的那個複數並且從集合中刪除那個複數,再輸出集合的大小size 2 insert a ib 指令 a,b表示實部和虛部 將a ib加入到集合中 輸出集合的大...

北郵OJ 中序遍歷樹

一開始想複雜了,一開始我打算用vector寫,之後類似於二叉遍歷再遍歷一遍,但是太麻煩了 後來看了大佬的部落格,才受到啟發 可以將樹存為圖,之後利用dfs遍歷即可 這已經不是第一次北郵將樹變為圖才能解決的題了,應該受到教訓了 include include include include inclu...