Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<iostream>
- #include<vector>
- #include<cmath>
- #include<algorithm>
- #include<memory.h>
- #include<map>
- #include<set>
- #include<queue>
- #include<list>
- #include<sstream>
- #include<cstring>
- #include<numeric>
- using namespace std;
- const int N = 1e5 + 1;
- char s[N];
- bool isPalindrome(int l, int r) {
- for (; l < r; l++, r--)
- if (s[l] != s[r])
- return false;
- return true;
- }
- int main() {
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- gets_s(s);
- int len = strlen(s);
- reverse(s, s + len);
- int id = 0;
- for (int i = 1; i < len - 1; i++) {
- if (s[i] == s[0]) {
- if (isPalindrome(0, i)) {
- id = i;
- }
- }
- }
- if (id == len - 1) {
- printf("%s%s", s, s);
- return 0;
- }
- string bad = string(s + id + 1, s + len);
- reverse(s, s + len);
- printf("%s%s", s, bad.c_str());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement