結果
問題 | No.600 かい文回 |
ユーザー |
![]() |
提出日時 | 2018-06-06 17:30:10 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 749 bytes |
コンパイル時間 | 1,369 ms |
コンパイル使用メモリ | 162,148 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-30 10:17:14 |
合計ジャッジ時間 | 2,309 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#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 = "qq";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 << endl;}