zoukankan      html  css  js  c++  java
  • codevs 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以内

    分类标签 Tags 点此展开 

    【思路】
    每加入一个数判断是否大于他爸爸。是 No return 0;
    【code】
    #include<iostream>
    #include<cstdio>
    using namespace std;
    long long a[103];
    int n; 
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
            if(i>1&&a[i]>a[i/2])
            {
                printf("No
    ");
                return 0;
            }
        }
        printf("Yes
    ");
        return 0;
    }
  • 相关阅读:
    Network File System
    模拟网络抖动及网络延迟
    python with statements
    Centos 7
    Blind Carbon Copy
    git
    python time
    valgrind3.11.0
    tinycore os
    about arp_ignore arp_filter arp_announce rp_filter
  • 原文地址:https://www.cnblogs.com/zzyh/p/6970764.html
Copyright © 2011-2022 走看看