Advertisement
Hippskill

Untitled

Jan 18th, 2016
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3. #include<iostream>
  4. #include<vector>
  5. #include<cmath>
  6. #include<algorithm>
  7. #include<memory.h>
  8. #include<map>
  9. #include<set>
  10. #include<queue>
  11. #include<list>
  12. #include<sstream>
  13. #include<cstring>
  14. #include<numeric>
  15. using namespace std;
  16.  
  17. const int N = 1e5 + 1;
  18.  
  19. char s[N];
  20.  
  21. bool isPalindrome(int l, int r) {
  22.     for (; l < r; l++, r--)
  23.         if (s[l] != s[r])
  24.             return false;
  25.     return true;
  26. }
  27. int main() {
  28.     //freopen("input.txt", "r", stdin);
  29.     //freopen("output.txt", "w", stdout);
  30.     gets_s(s);
  31.     int len = strlen(s);
  32.     reverse(s, s + len);
  33.     int id = 0;
  34.     for (int i = 1; i < len - 1; i++) {
  35.         if (s[i] == s[0]) {
  36.             if (isPalindrome(0, i)) {
  37.                 id = i;
  38.             }
  39.         }
  40.     }
  41.     if (id == len - 1) {
  42.         printf("%s%s", s, s);
  43.         return 0;
  44.     }
  45.     string bad = string(s + id + 1, s + len);
  46.     reverse(s, s + len);
  47.     printf("%s%s", s, bad.c_str());
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement