有一個大家族有N個成員,編號1~N,我們請每個成員寫下此家族中哪幾位是他的孩子。我們要計算每個人有幾代的子孫,這個值稱為他在這個族譜中的高度,也就是說,編號i的人如果高度記做h(i),那麼h(i)就表示在所有i的子孫中,最遠的子孫與他隔了幾代。本題假設除了最高的一位祖先(稱為root)之外,其他成員的parent都在此家族中(且只有一個parent)。本題要計算所有成員高度的總和以及根的編號。
右圖是一個例子,每個成員是一個圈起來的號碼,劃線相聯的表示上面的點是下面點的parent。編號4是根,有兩個孩子1與7。編號6, 9, 3, 8都沒有孩子,h(6)=h(9)=h(3)=h(8)=0,此外 h(2)=2因為9與他隔兩代。你可以看出來h(5)=h(1)=1,h(7)=3, h(4)=4,所以高度總和是11。
第一行有一個正整數N。接下來有N行,第i行的第一個數字k代表i有k個孩子,第i行接下來的k個數字就是孩子的編號。每一行的相鄰數字間以空白隔開。N ≤ 1e5。
第一行輸出根的編號,第二行輸出高度總和。
9 1 6 3 5 3 8 0 2 1 7 1 9 0 1 2 0 0
4 11
ID | User | Problem | Subject | Hit | Post Date |
4 |
|
a130 | 81 | 2024-10-05 16:29 |