結果
問題 |
No.566 だいたい完全二分木
|
ユーザー |
![]() |
提出日時 | 2025-02-01 13:46:16 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 685 bytes |
コンパイル時間 | 554 ms |
コンパイル使用メモリ | 82,664 KB |
実行使用メモリ | 68,672 KB |
最終ジャッジ日時 | 2025-02-01 13:46:18 |
合計ジャッジ時間 | 2,404 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 1 |
ソースコード
def check(x): ret = 0 if x == 0: return 0 while not (x & 1): x >>= 1 ret += 1 return ret def f(x): ret = [] Q = [x] ret.append(x) while Q: x = Q.pop() x1 = x - (1 << (check(x>>1))) ret.append(x1) x2 = x + (1 << (check(x>>1))) ret.append(x2) if x2 & 1 == 0: Q.append(x2) if x1 & 1 == 0: Q.append(x1) return ret K = int(input()) if K == 2: print(1,2,3) # 頂点数 2^K - 1 # 中央 2^(K-1) x0 = 1 << (K - 1) x1 = x0 - (1 << (K - 2)) x2 = x0 + (1 << (K - 2)) X1 = [] X2 = [] X1 = f(x1) X2 = f(x2) ans = [x2] + [x0] + X1 + X2[1:] print(*ans)