P4913 【深基16.例3】二叉树深度https://www.luogu.com.cn/problem/P4913
#include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long ll; typedef unsigned long long ull; using namespace std; const int MN = 65005; const int MAXN = 1000010; const int INF = 0x3f3f3f3f; #define IOS ios::sync_with_stdio(false) #define lowbit(x) ((x)&(-x)) struct node { int l, r; }; node tree[MAXN]; int ans; inline void dfs(int id, int deep) { if (id == 0) { return; } ans = max(ans, deep); dfs(tree[id].l, deep + 1); dfs(tree[id].r, deep + 1); } int main() { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d %d", &tree[i].l, &tree[i].r); } dfs(1, 1); printf("%d", ans); return 0; }
上一篇 【我的编程学习计划】
下一篇 C语言:多态
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号