zoukankan      html  css  js  c++  java
  • Codevs P1501二叉树的最大宽度和高度

    • 时间限制: 1 s
    • 空间限制: 128000 KB
    • 题目等级: 白银 Silver

    点此跳转

    【题目描述】

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

    【输入描述】

    第一行一个整数n。
    下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。

    【输出描述】

    输出共一行,输出二叉树的最大宽度和高度,用一个空格隔开。

    【样例输入】

    5
    2 3
    4 5
    0 0
    0 0
    0 0

    【样例输出】

    2 3

    【数据范围及提示】

    n<16默认第一个是根节点

    代码实现:

    /*
    作者:Zforw
    题目:p1501二叉树最大宽度和高度
    */
    
    #include< cstdio >
    #include< iostream>
    using namespace std;
    int l[30],r[30],fa[30],b[30],n,k,width,depth ;
    int main(){
    cin>>n;
    for(int i = 1 ; i <= n; i ++
    {
    cin>>l[i]>>r[i]; //储存左右孩子
    fa[l[i]]=fa[r[i]]=i;; //储存其父节点
    }
    for(int i = 1 ; i <= n; i ++){
    k = 1 ;
    x = fa[i];
    while(x!= 0){
    k++;
    x = fa[x];
    }
    //从下向上找,一直找到根节点,k为深度
    //b[k]保存深度为k的节点的个数
    b[k]++;
    depth=max(depth,k);
    width=max(width,b[k]);
    }
    cout<<width<<" "<<depth;
    return 0 ;
    }
    
    岂能尽如人意,但求无愧我心
  • 相关阅读:
    java中的拷贝(二)深克隆
    java中的拷贝(一)
    java类的访问权限
    对象和对象引用
    equals和==
    类与继承(一)
    WebSocket简单介绍
    php获取请求的方式(get/post)
    php 使用jquery实现ajax
    PHP 系统常量及自定义常量
  • 原文地址:https://www.cnblogs.com/Zforw/p/9435742.html
Copyright © 2011-2022 走看看