解题思路:
注意事项:
参考代码:
唯一题解:
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #include<cmath> typedef long long ll; using namespace std; struct Node { int id,l,r; Node() { l=r=0; } } tr[1010];//保存二叉树 int p,dep[1010],ans=0;//个数,节点深度,答案(树的深度) void addedge(int i,int r,int l) { tr[i].id=i; tr[i].l=l; tr[i].r=r; }//编号为i的接点的左节点l,右节点r void Init() { scanf("%d",&p); int a,b,c; for(int i=1;i<p;i++) { scanf("%d%d%d",&a,&b,&c); addedge(a,b,c); } dep[1]=1;//注意初始化 } void DFS(int i) { if(tr[i].l) {//如果左节点不为0 dep[tr[i].l]=dep[i]+1;//左节点的深度 ans=max(ans,dep[i]+1);//更新树的深度 DFS(tr[i].l);//接着左节点向下找 } if(tr[i].r){//同理 dep[tr[i].r]=dep[i]+1; ans=max(ans,dep[i]+1); DFS(tr[i].r); } } int main() { Init(); DFS(1); printf("%d",ans); return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:522 |
母牛的故事 (C语言代码)浏览:1427 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |
星期判断机 (C语言代码)浏览:859 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:593 |
C二级辅导-阶乘数列 (C语言代码)浏览:508 |
DNA (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:484 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:596 |
C二级辅导-公约公倍 (C语言代码)浏览:1310 |