CodeForces 688B - Lovely Palindromes

来源:互联网 发布:淘宝刀具店 编辑:程序博客网 时间:2024/06/05 11:45

题意:输出第n(1 <= n <= 10^100000)大的偶数长度的回文数。(最小的为11)

因为长度是偶数,所以前后两半之间是相互对称的,又因为一个数字的大小主要取决于较高位数的大小,所以数字的前一半决定数的大小,从1开始,1,2,3……对称即可得11,22,33……

所以将数正着输出后再倒着输出一遍即可(数非常大,需用字符串存)


#include<cstdio>#include<cstring>#include<cctype>#include<cstdlib>#include<cmath>#include<iostream>#include<sstream>#include<iterator>#include<algorithm>#include<string>#include<vector>#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<list>typedef long long ll;typedef unsigned long long llu;const int MAXN = 100 + 10;const int MAXT = 1000000 + 10;const int INF = 0x7f7f7f7f;const double pi = acos(-1.0);const double EPS = 1e-6;using namespace std;string s;int main(){    cin >> s;    cout << s;    reverse(s.begin(), s.end());    cout << s << endl;    return 0;}


0 0