結果
問題 | No.566 だいたい完全二分木 |
ユーザー |
![]() |
提出日時 | 2017-12-03 04:10:33 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 40 ms / 2,000 ms |
コード長 | 884 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-11-28 08:18:59 |
合計ジャッジ時間 | 1,464 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
ソースコード
import sys class Node: def __init__(self, val): self.val = val self.left = None self.right = None def set_l(self, node): self.left = node def set_r(self, node): self.right = node def create_tree(ls): root = len(ls) // 2 node = Node(ls[root]) if len(ls) >= 2: node.set_l(create_tree(ls[:root])) if len(ls) >= 3: node.set_r(create_tree(ls[root + 1:])) return node def print_ans(node): if node is None: return if node.val == 2: node.val = 3 elif node.val == 1: node.val = 2 elif node.val == 3: node.val = 1 sys.stdout.write(str(node.val) + ' ') print_ans(node.left) print_ans(node.right) k = int(input()) ls = list(range(1, 2**k)) tree = create_tree(ls) print_ans(tree) print('')