結果
問題 | No.600 かい文回 |
ユーザー |
![]() |
提出日時 | 2017-11-25 23:30:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,075 bytes |
コンパイル時間 | 800 ms |
コンパイル使用メモリ | 90,164 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 10:15:33 |
合計ジャッジ時間 | 1,458 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
/* -*- coding: utf-8 -*-** 600.cc: No.600 かい文回 - yukicoder*/#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<iostream>#include<string>#include<vector>#include<map>#include<set>#include<stack>#include<list>#include<queue>#include<deque>#include<algorithm>#include<numeric>#include<utility>#include<complex>#include<functional>using namespace std;/* constant *//* typedef */typedef vector<int> vi;typedef stack<int> si;/* global variables *//* subroutines *//* main */int main() {int n;cin >> n;if (n == 1) {puts("a");return 0;}si q;while (n) {q.push(n & 1);n >>= 1;}//while (! q.empty()) printf("%d", q.top()), q.pop(); putchar('\n');int p = 0;vi v;q.pop();while (! q.empty()) {int d = q.top(); q.pop();v.push_back(p);if (d == 1) p = (p + 1) % 26, v.push_back(p);}for (int i = v.size() - 1; i >= 0; i--) putchar(v[i] + 'a');for (int i = 0; i < v.size(); i++) putchar(v[i] + 'a');putchar('\n');return 0;}