結果
| 問題 |
No.600 かい文回
|
| コンテスト | |
| ユーザー |
Kutimoti_T
|
| 提出日時 | 2018-06-06 17:23:16 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 817 bytes |
| コンパイル時間 | 1,358 ms |
| コンパイル使用メモリ | 163,164 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-30 10:16:25 |
| 合計ジャッジ時間 | 2,555 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 WA * 2 |
ソースコード
#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[1] + ans;
ans = ans[1] + ans;
ans = ans + ans[0] + ans[1];
}
first = false;
if (N & (1LL << i)) {
ans = string() + all[idx] + all[idx + 1] + ans + all[idx] + all[idx + 1];
idx += 2;
if(idx + 1 >= all.size()){
idx = 1;
reverse(all.begin(),all.end());
}
}
}
cout << ans << endl;
}
Kutimoti_T