結果
問題 | No.600 かい文回 |
ユーザー |
![]() |
提出日時 | 2018-06-06 17:25:48 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 928 bytes |
コンパイル時間 | 1,425 ms |
コンパイル使用メモリ | 165,364 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-30 10:16:50 |
合計ジャッジ時間 | 4,354 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 1 WA * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = long long; #define rep(i, s, e) for (int(i) = (s); (i) <= (e); (i)++) int main() { i64 N; cin >> N; i64 K = 0; string all = "qwertyuiopasdfghjklzxcvbnm"; int idx = 0; string ans = "qwqw"; if (N == 1) { cout << "a" << endl; return 0; } int i = 40; while (!(N & (1LL << i))) i--; i--; idx = 2; cout << "start : " << i + 1 << endl; bool first = true; for (; i >= 0; i--) { if (!first) { ans = ans[1] + ans; ans = ans[1] + ans; ans = ans + ans[0] + ans[1]; } first = false; if (N & (1LL << i)) { cout << i << endl; ans = string() + all[idx] + all[idx + 1] + ans + all[idx] + all[idx + 1]; idx += 2; if(idx + 1 >= all.size()){ idx = 0; reverse(all.begin(),all.end()); random_shuffle(all.begin(),all.end()); } } } cout << ans << endl; }