Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. using namespace std;
  2.  
  3. string kek;
  4.  
  5. signed main() {
  6. cin >> kek;
  7.  
  8. vector<int> let('z' - 'a' + 1, 0);
  9. for (int i = 0; i < kek.size(); i++) {
  10. let[kek[i] - 'a']++;
  11. }
  12.  
  13. int cnt = 0;
  14. for (int i = 0; i < let.size(); i++) {
  15. if (let[i] % 2) cnt++;
  16. }
  17. if (cnt > 1) return cout << "Impossible", 0;
  18.  
  19. bool f = true;
  20. for (int i = 1; i <= kek.size(); i++) {
  21. for (int j = 0; j < i; j++) {
  22. if (kek[j] != kek[kek.size() - i + j]) {
  23. f = false;
  24. break;
  25. }
  26. }
  27. if (!f) break;
  28. }
  29. if (f) return cout << "Impossible", 0;
  30.  
  31.  
  32. for (int i = 0; i < kek.size() - 1; i++) {
  33. bool f = true, b = true;
  34. int l = i + 1, r = i, plr = kek.size(), pll = 0;
  35. int li = 0, ri = kek.size() - 1;
  36.  
  37. while (plr + r > l + pll) {
  38. if (kek[l] != kek[r]) {
  39. f = false;
  40. break;
  41. }
  42. if (kek[l] != kek[li] || kek[r] != kek[ri]) b = false;
  43.  
  44. l++;
  45. if (l == kek.size()) {
  46. pll = kek.size();
  47. l = 0;
  48. }
  49.  
  50. r--;
  51. if (r < 0) {
  52. r = kek.size() - 1;
  53. plr = 0;
  54. }
  55. li++;
  56. ri--;
  57.  
  58. if (kek[l] != kek[li] || kek[r] != kek[ri]) b = false;
  59. }
  60.  
  61. if (f && !b) {
  62. return cout << 1, 0;
  63. }
  64. }
  65.  
  66. cout << 2;
  67.  
  68. //system("pause");
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement