生活随笔
收集整理的這篇文章主要介紹了
PTA 叶结点求和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求: 對給定的有N個節點(N>=0)的二叉樹,求葉節點元素之和。
輸入格式:
第一行是一個非負整數N,表示有N個節點
第二行是一個整數k,是樹根的元素值
接下來有N-1行,每行是一個新節點,格式為 r d e 三個整數,
r表示該節點的父節點元素值(保證父節點存在);d是方向,0表示該節點為父節點的左兒子,1表示右兒子;e是該節點的元素值。
輸出格式:
樹中葉節點元素之和 (保證在整型變量范圍之內)。
輸入樣例:
對于圖片中的二叉樹:
3
20
20 0 10
20 1 25
輸出樣例:
35
#include <bits/stdc++.h>using namespace std
;typedef struct
{int fa
;int left_rigth
;int num
;int flag
;
}TREE
;int main()
{int num
,father
;cin
>>num
>>father
;TREE tree
[num
+1];for(int i
=0;i
<=num
;i
++){tree
[i
].fa
= -1;tree
[i
].left_rigth
= -1;tree
[i
].num
=-1;tree
[i
].flag
= 0;}tree
[1].num
= father
;for(int i
=2;i
<=num
;i
++)cin
>>tree
[i
].fa
>>tree
[i
].left_rigth
>>tree
[i
].num
;for(int i
=1;i
<=num
;i
++){for(int j
=1;j
<=num
;j
++){if(tree
[i
].fa
== tree
[j
].num
)tree
[j
].flag
= 1;}}int sum
= 0;for(int i
=1;i
<=num
;i
++){if(tree
[i
].flag
!=1)sum
+=tree
[i
].num
;}cout
<<sum
;return 0;
}
這樣寫根本沒有用到表示左右孩子的變量,不知道給出來是干嘛的……
總結
以上是生活随笔為你收集整理的PTA 叶结点求和的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。