Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
122077 | 周震东 | 树的深度 | C++ | 通过 | 100 | 0 MS | 252 KB | 534 | 2024-01-22 11:25:17 |
#include <bits/stdc++.h> using namespace std; int n,L[110],R[110]; //总结点和左右节点 int DFS(int i) { int l = 0,r = 0; if(L[i]) l = DFS(L[i]) + 1; //如果左边有,那就加上(+1是自己) if(R[i]) r = DFS(R[i]) + 1; //如果右边有,那就加上(+1是自己) return max(l,r); //返回更深层次的树 } int main() { scanf("%d",&n); for(int i = 1;i <= n;i++) scanf("%d%d",&L[i],&R[i]); printf("%d\n",DFS(1) + 1); //输出(记得加上根节点) return 0; }