結果

問題 No.566 だいたい完全二分木
コンテスト
ユーザー nuco-t-komuro
提出日時 2026-07-13 17:07:46
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
WA  
実行時間 -
コード長 1,031 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 292 ms
コンパイル使用メモリ 21,536 KB
実行使用メモリ 15,996 KB
最終ジャッジ日時 2026-07-13 17:07:52
合計ジャッジ時間 3,373 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 3 WA * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

# class node:
# 	def __init__(self,num):
# 		self.num = num
# 		self.left:node = None
# 		self.right:node = None

# def addNode(cur:node,input_num:int): #ノード追加,再帰でNoneになるまでたどっていく
# 	if (cur.num < input_num):
# 		if (cur.right is None):
# 			cur.right = node(input_num)
# 		else:
# 			addNode(cur.right,input_num)
# 	else:
# 		if (cur.left is None):
# 			cur.left = node(input_num)
# 		else:
# 			addNode(cur.left,input_num)

# def calcHeight(cur: node):
# 	if (cur is None):
# 		return -1
# 	return max(calcHeight(cur.left),calcHeight(cur.right))+1

def createTree(lst: list, left: int, right: int):
	if left > right:
		return
	m = (left + right) // 2
	lst.append(m)
	for i in range(left, m):
		lst.append(i)
	createTree(lst, m + 1, right)


def main():
	k = int(input())
	lst = []
	createTree(lst,1,(2**k)-1)
	# for i,num in enumerate(lst):
	# 	if i == 0:
	# 		root = node(num)
	# 	else:
	# 		addNode(root,num)
	
	# height = calcHeight(root)
	print(*lst)

if __name__ == "__main__":
	main()
0