結果
問題 |
No.566 だいたい完全二分木
|
ユーザー |
![]() |
提出日時 | 2017-10-21 18:02:20 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 659 bytes |
コンパイル時間 | 1,636 ms |
コンパイル使用メモリ | 169,104 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 12:33:34 |
合計ジャッジ時間 | 2,307 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
ソースコード
#include "bits/stdc++.h" using namespace std; using ll = long long; using IP = pair<int, int>; #define INF 999999999 #define atcoder(int)1e9+7 #define Endl endl #define all(v) (v.begin(),v.end()) #define pb(a) push_back(a) vector<int> v; void tree(int l, int r) { if (l == 1 && r == 3) { v.pb(1); v.pb(2); v.pb(3); return; } if (l == r) { v.pb(l); return; } int md = (l + r) / 2; v.pb(md); tree(l, md-1); tree(md+1, r); } int main() { int k; cin >> k; int n =1; for (int i = 0; i < k; i++)n *= 2; n--; tree(1, n); for (int i = 0; i < v.size(); i++) { if (i)cout << ' '; cout << v[i]; } cout << endl; return 0; }