洛谷 P4913 深基16 例3 二叉樹深度

2022-02-23 11:08:05 字數 689 閱讀 9475

給出每個節點的兩個兒子節點,建立一棵二叉樹(根節點為 11),如果是葉子節點,則輸入0 0。建好樹後希望知道這棵二叉樹的深度。二叉樹的深度是指從根節點到葉子結點時,最多經過了幾層。

最多有 10^6106 個結點。無無

**輸入 **

7

2 73 6

4 50 0

0 00 0

0 0

**輸出 **

4
這道題考察了二叉樹深度,我們進行構造乙個struct節點,然後進行一次dfs,把層級傳入即可得出最終的層數。

#include #include using namespace std;

struct node n[1001000];

int n, root = 0, maxlevel = 0;

bool isroot[1001000] = ;

void dfs(int root, int level)

int main()

while(isroot[root]) root++;

dfs(root, 1);

printf("%d", maxlevel);

return 0;

}

P4913 深基16 例3 二叉樹深度(水題)

給出每個節點的兩個兒子節點,建立一棵二叉樹 根節點為 111 如果是葉子節點,則輸入0 0。建好樹後希望知道這棵二叉樹的深度。二叉樹的深度是指從根節點到葉子結點時,最多經過了幾層。最多有 10610 6106 個結點。無無 輸入 1複製7 2 73 6 4 50 0 0 00 0 0 0 輸出 1複...

洛谷 P4913 二叉樹深度 (二叉樹 dfs)

題目傳送 看題解有大佬有用樹狀dp的,還有說正解是長鏈剖分。我太菜了,上面那些都不會,用dfs遍歷ac了,不知道是不是資料太水讓我水過了。正應了acm圈一句名言 這題我雖然不會,但ac還是沒問題的 先用結構體建樹 struct node tree maxn 輸入 for int i 1 i n i ...

洛谷 P4715 深基16 例1 淘汰賽

有 2 n n le7 2n n 7 個國家參加世界盃決賽圈且進入淘汰賽環節。我經知道各個國家的能力值,且都不相等。能力值高的國家和能力值低的國家踢比賽時高者獲勝。1 號國家和 2 號國家踢一場比賽,勝者晉級。3 號國家和 4 號國家也踢一場,勝者晉級 晉級後的國家用相同的方法繼續完成賽程,直到決出...