[백준 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 end, int 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+1, end, 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 |