結果
問題 | No.600 かい文回 |
ユーザー |
![]() |
提出日時 | 2017-11-29 22:38:15 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 650 bytes |
コンパイル時間 | 1,384 ms |
コンパイル使用メモリ | 160,760 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 19:17:14 |
合計ジャッジ時間 | 2,334 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include <bits/stdc++.h>#define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++)#define MOD 1000000007LLusing namespace std;typedef long long ll;ll N;string dfs(ll n, char &chr) {if(n == 1) return "";string ret;if(n % 2 == 0) {ret = dfs(n / 2, chr);ret = chr + ret;} else {ret = dfs(n - 1, chr);if(chr == 'z') chr = 'a';else chr = chr + 1;ret = chr + ret;}return ret;}int main(void) {ll N;cin >> N;if(N == 1) {cout << "a" << endl;return 0;}char chr = 'a';string ans = dfs(N, chr);cout << ans;reverse(ans.begin(), ans.end());cout << ans << endl;}