若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

2351: 完全二叉树?

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,187

题目描述

二叉树T中,如果非叶子结点都有两棵非空子树,那么称二叉树T是一棵完全二叉树。现在根据边的连接情况判断一棵树是否是完全二叉树。

输入

第一行有2个整数n(0 < n < 1024)和r(1<=r<=n), 表示结点数和树根,接下来n-1行每行有2个整数a,b (1 <= a,b <= n)表示a结点和b结点有一条边相连(数据保证是一棵树而不是一座森林)

输出

如果是完全二叉树 输出yes 否则输出no

样例输入

5 1
1 2
3 1
4 2
2 5 

样例输出

yes

参考代码

#include<stdio.h>    
#include<stdlib.h>  
#include<string.h> 
int main() 
{
    int bitree[1025],n,r,i,a,b;
    memset(bitree,0,sizeof(bitree));
    scanf("%d %d",&n,&r);
    if(n%2 == 0) 
    {
        printf("non");    
           return 0;    
    }    
    bitree[r] = 1;    
    for(i = 1;i <= n-1;i++) 
    {    
          scanf("%d %d",&a,&b);    
          bitree[a]++;    
          bitree[b]++;    
    }    
    for(i = 1;i <= n;i++) 
    {    
          if(bitree[i] != 3 && bitree[i] != 1) 
          {    
             printf("non");    
             return 0;    
          }    
    }       
    printf("yesn");  
    return 0;
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Dreams孤独患者 Skip 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist