結果
| 問題 | No.566 だいたい完全二分木 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-07-13 15:56:49 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 876 bytes |
| 記録 | |
| コンパイル時間 | 573 ms |
| コンパイル使用メモリ | 21,408 KB |
| 実行使用メモリ | 22,264 KB |
| 最終ジャッジ日時 | 2026-07-13 15:56:58 |
| 合計ジャッジ時間 | 7,847 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 1 -- * 10 |
ソースコード
import random 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 main(): k = int(input()) lst = list(range(1,2**k)) while(1): random.shuffle(lst) for i,num in enumerate(lst): if i == 0: root = node(num) else: addNode(root,num) height = calcHeight(root) if (height > k and height <3*k): break print(*lst) if __name__ == "__main__": main()