题解 | #树查找#

树查找

http://www.nowcoder.com/practice/9a10d5e7d99c45e2a462644d46c428e4

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int num[1001];
//void dfs(int i, int td) {
//    if (td == d && i <= n) {
//        //flag = true;
//        cout << num[i] << " ";
//        return;
//    }
//    else {
//        dfs(i * 2, td + 1);
//        dfs(i * 2 + 1, td + 1);
//    }
//}
int main()
{
    int n, d;
    while (cin >> n) {
        memset(num, 0, sizeof(num));
        for (int i = 1; i <= n; ++i)
            cin >> num[i];
        cin >> d;
        int start = pow(2, d - 1);
        if (start <= n)
            for (int i = start; i < 2 * start; ++i)
                cout << num[i] << " ";
        else
            cout << "EMPTY";
        cout << endl;
    }
}
全部评论

相关推荐

HNU_fsq:建议直接出国,这简历太6了。自愧不如
点赞 评论 收藏
分享
10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务