はまやんはまやんはまやん

hamayanhamayan's blog

Lovely Palindromes [Codeforces 360 : Div2 B]

問題

http://codeforces.com/contest/688/problem/B

回分になっていて、桁数が偶数である数を小さい順に並べるとき、n番目の数を出力せよ。

1 <= n <= 10^100000

思考の流れ

1. 列挙してみると今回は分かる。
1 -> 11
2 -> 22
3 -> 33
4 -> 44
...
9 -> 99
10 -> 1001
11 -> 1111
12 -> 1221
2. nとnを逆にしたものを出力すれば良い
(回文は「半分が確定すればもう半分が確定する」という性質をうまく使うものが多いです)

解法

http://codeforces.com/contest/688/submission/18816130

string n;
//-----------------------------------------------------------------
int main() {
	cin >> n;
	cout << n;
	reverse(n.begin(), n.end());
	cout << n << endl;
}