時間限制:1s空間限制:128000kb題目等級:** silver
題目描述
給出乙個二叉樹,輸出它的最大寬度和高度。
輸入描述
第一行乙個整數n。
下面n行每行有兩個數,對於第 i 行的兩個數,代表編號為 i 的節點所連線的兩個左右兒子的編號。如果某個兒子為空,則為0。
輸出描述
輸出共一行,輸出二叉樹的最大寬度和高度,用乙個空格隔開。
樣例輸入
2 34 5
0 00 0
0 0樣例輸出
2 3資料範圍及提示
n<16
預設第乙個是根節點
解題思路
1、在輸入左右孩子時根據 孩子節點深度=父節點深度+1 遞推出各節點深度
2、以節點深度(所在層)為基本單位來統計各層寬度
3、對比各層寬度和各節點深度來得到最大寬度和最大高度
ac**如下:
#include const int maxlength=17;
struct nodebt[maxlength];
int main()
;//儲存各層寬度
int dep[maxlength]=;//儲存各節點深度
dep[1]=1;
for( int i=1;i<=n;i++ )
if( bt[i].r )
}int maxdep=1,maxwid=1;//只有乙個根時最大寬度和深度都為1
for( int i=1;i<=n;i++ )
printf("%d %d\n",maxwid,maxdep);
return 0;
}
CODEVS 1501 二叉樹最大寬度和高度
題目描述 description 給出乙個二叉樹,輸出它的最大寬度和高度。輸入描述 input description 第一行乙個整數n。下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連線的兩個左右兒子的編號。如果沒有某個兒子為空,則為0。輸出描述 output descriptio...
二叉樹最大寬度和高度(codevs1501)
題目 二叉樹最大寬度和高度 時間限制 1 s 空間限制 128000 kb 題目描述 給出乙個二叉樹,輸出它的最大寬度和高度。輸入描述 input description 第一行乙個整數n。下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連線的兩個左右兒子的編號。如果沒有某個兒子為空,...
1501 二叉樹最大寬度和高度
題目描述 description 給出乙個二叉樹,輸出它的最大寬度和高度。輸入描述 input description 第一行乙個整數n。下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連線的兩個左右兒子的編號。如果沒有某個兒子為空,則為0。輸出描述 output descriptio...