当前位置: 代码迷 >> 综合 >> [WikiOI] 2.6.1 二叉树最大宽度和高度
  详细解决方案

[WikiOI] 2.6.1 二叉树最大宽度和高度

热度:10   发布时间:2023-12-09 05:59:01.0

[Problem]

给出一个二叉树,输出它的最大宽度和高度。


[Solution]

#include<iostream>
using namespace std;int n;
int l[20], r[20], w[20], deep;void dfs(int x, int y){w[y]++;if(y > deep) deep = y; if(l[x]) dfs(l[x], y+1);if(r[x]) dfs(r[x], y+1);
} int main(){cin >> n;int i;for(i = 1; i <= n; i++)cin >> l[i] >> r[i];dfs(1, 1);int mw = 0;for(i = 1; i <= deep; i++)mw = max(mw, w[i]);cout << mw << " " << deep;
}