結果
問題 | No.600 かい文回 |
ユーザー |
![]() |
提出日時 | 2018-06-06 17:28:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 781 bytes |
コンパイル時間 | 1,335 ms |
コンパイル使用メモリ | 162,148 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-30 10:16:57 |
合計ジャッジ時間 | 4,293 ms |
ジャッジサーバーID (参考情報) |
judge3 / 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; bool first = true; for (; i >= 0; i--) { if (!first) { ans = ans[0] + ans; ans = ans + ans[0]; } first = false; if (N & (1LL << i)) { ans = string() + all[idx] + ans + all[idx]; idx++; if(idx >= all.size()){ idx = 0; random_shuffle(all.begin(),all.end()); } } } cout << ans.size() << endl; cout << ans << endl; }