- 题目描述:
-
有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。
- 输入:
-
输入有多组数据。
每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。
- 输出:
-
输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。
- 样例输入:
-
4 1 2 3 4 2
- 样例输出:
-
2 3
#include<iostream> using namespace std; int main(){ int n,i,d; int a[1001]; while(cin>>n){ for(i=0;i<n;i++){ cin>>a[i]; } cin>>d; int first=1; int num=d*(d+1)/2; int nu=d*(d-1)/2; if(nu>=n) cout<<"EMPTY"<<endl; else if(num<=n){ for(i=nu;i<num;i++) { if(first){ cout<<a[i]; first=0; } else cout<<" "<<a[i]; } cout<<endl; } else for(i=nu;i<n;i++) { if(first){ cout<<a[i]; first=0; } else cout<<" "<<a[i]; } cout<<endl; } return 0; }