您的位置:首页 > 其它

九度oj 1176 树查找

2017-03-11 11:40 190 查看
本题要求输出树相应层的所有节点,故只需记录所有节点的值,并计算该层所有节点的下标即可。


#include<stdio.h>
#include<math.h>
using namespace std;
int main(){
int n,buf[1001],d;
while(scanf("%d",&n) != EOF){
for(int i=1;i<=n;i++){
scanf("%d",&buf[i]);
}
scanf("%d",&d);
int m;
m=pow(2,d-1);                      	//第d层的第一个节点
if(m>n)	printf("EMPTY\n");         	//第d层无节点
else{
while(m<n && m<pow(2,d)-1){    	//输出第d层第一个至倒数第二个节点
printf("%d ",buf[m]);          	//节点间用空格隔开
m++;
}
printf("%d\n",buf[m]);         	//最后一个节点,后面没有空格
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: