Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
121441 | 陈志轩 | 树的深度 | C++ | 通过 | 100 | 0 MS | 252 KB | 476 | 2024-01-21 18:57:34 |
#include<iostream> #include<cmath> using namespace std; struct Node{ int left,right; }s[1000005]; int ans; void dfs(int cur,int dep){ ans = max(ans,dep); if (s[cur].left){ dfs(s[cur].left,dep + 1); } if (s[cur].right){ dfs(s[cur].right,dep + 1); } } int main(){ int n; cin>>n; for (int i = 1;i <= n;i++){ cin>>s[i].left>>s[i].right; } dfs(1,1); cout<<ans<<endl; return 0; }