树查找

来源:互联网 发布:apache bin httpd.exe 编辑:程序博客网 时间:2024/06/03 08:32

题目描述

有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。

输入


输入有多组数据。
每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。


输出


输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。


样例输入

51 2 3 4 5 771 2 3 4 5 6 7 20

样例输出

EMPTY2 3

提示


#include <cstdio>const int maxn=1005;int s[maxn];int main(){    int n;    while(scanf("%d",&n)==1&&n){        for(int i=1;i<=n;i++) scanf("%d",&s[i]);        int d;        scanf("%d",&d);        if((1<<d-1)>n) printf("EMPTY\n");        else if((1<<d)-1<=n){            for(int i=(1<<d-1);i<=(1<<d)-1;i++){                printf("%d",s[i]);                if(i<(1<<d)-1) printf(" ");                else printf("\n");            }        }        else{            for(int i=(1<<d-1);i<=n;i++){                printf("%d",s[i]);                if(i<n) printf(" ");                else printf("\n");            }        }    }    return 0;}


原创粉丝点击