zoukankan      html  css  js  c++  java
  • 2879 堆的判断

    2879 堆的判断

     

    时间限制: 1 s
    空间限制: 32000 KB
    题目等级 : 黄金 Gold
     
     
     
     
    题目描述 Description

    堆是一种常用的数据结构。二叉堆是一个特殊的二叉树,他的父亲节点比两个儿子节点要大,且他的左右子树也是二叉堆。现在输入一颗树(用二叉树的数组表示,即a[i]的左儿子与右儿子分别为a[2i],a[2i+1]),要求判断他是否是一个堆。

    输入描述 Input Description

    一个整数N,表示结点数。

    第二行N个整数,表示每个结点代表的数字

    输出描述 Output Description

    如果是,输出‘Yes’

    否则输出‘No’

    样例输入 Sample Input

    5

    1 2 3 4 5

    样例输出 Sample Output

    No

    数据范围及提示 Data Size & Hint

    1<N<100

    数字在2^31以内

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 int a[1001];
     5 int main()
     6 {
     7     int n;
     8     scanf("%d",&n);
     9     for(int i=1;i<=n;i++)
    10     {
    11         //int d;
    12         scanf("%d",&a[i]);
    13     }
    14     int flag=0;
    15     for(int i=1;i<=n;i++)
    16     {
    17         if(a[2*i]>a[i]||a[2*i+1]>a[i])
    18         {
    19             flag=1;
    20             break;
    21         }
    22         else
    23         {
    24             continue;
    25         }
    26     }
    27     if(flag==1)
    28     {
    29         cout<<"No";
    30     }
    31     else
    32     {
    33         cout<<"Yes";
    34     }
    35     return 0;
    36 }
  • 相关阅读:
    bash 设置
    fabric-ca-client
    fabric工具
    nodejs
    Hyperledger 项目
    JAVA集合小结
    java内部类的作用分析
    如何使用javadoc
    30天轻松学习javaweb_Eclipse在修改了web.xml后将自动更新到tomcat服务器中
    30天轻松学习javaweb_修改tomcat的servlet模板
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6664999.html
Copyright © 2011-2022 走看看