[백준 9934번] 완전 이진 트리

2017. 7. 27. 02:52알고리즘/백준

반응형





소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
using namespace std;
 
int k, num[1024], End = 2, tree[11][512], depth_idx[10= {0,};
 
void building(int start,int endint depth) {
    if (end - start < 0) {
        return;
    }
    int mid = (start + end/ 2;
    tree[depth][depth_idx[depth]++= num[mid];
    building(start, mid-1, depth+1);
    building(mid+1end, depth+1);
}
 
int main() {
    cin >> k;
    for (int i = 1; i < k; i++)
        End *= 2;
    for (int i = 1; i < End; i++)
        cin >> num[i];
    building(1,End-1,0);
 
    for (int i = 0; i < k; i++) {
        End = 1;
        for (int j = 0; j < i; j++)
            End *= 2;
        for (int j = 0; j < End; j++) {
            cout << tree[i][j] << " ";
        }
        cout << '\n';
    }
    return 0;
}
cs


반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 9935번]문자열 폭발  (1) 2017.07.28
[백준 2089번] -2진수  (0) 2017.07.28
[백준 1182번] 부분집합의 합  (0) 2017.07.27
[백준 1799번] 비숍  (0) 2017.07.26
[백준 2493번] 탑  (0) 2017.07.26