def inorder(node):
global cnt
if node <= n:
inorder(node*2) # 왼쪽 노드
tree[node] = cnt # 왼쪽 다 다녀 왔으면 값 넣어
cnt += 1
inorder(node*2+1) # 오른쪽 노드
tc = int(input())
for idx in range(1, tc+1):
n = int(input()) # 이진 탐색 트리에 저장할 노드 개수
tree = [0 for _ in range(n+1)]
cnt = 1
inorder(1) # 중위순회 하면 오름차순으로 정렬된 값을 얻을 수 있다.
print('#{} {} {}'.format(idx, tree[1], tree[n//2]))
'Algorithm > SW Expert Academy' 카테고리의 다른 글
[Python] 5178. 노드의 합 (0) | 2021.09.24 |
---|---|
[Python] 5177. 이진힙 (0) | 2021.09.24 |
[Python] 5174. subtree (0) | 2021.09.24 |
[Python] 1232. 사칙연산 (0) | 2021.09.24 |
[Python] 1231. 중위 순회 (0) | 2021.09.23 |