fork(1) download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. const int MAX_LENGTH = 1000;
  6.  
  7. int isWord (char x) {
  8. if ((x >= 'A' && x <= 'Z') || (x >= 'a' && x <= 'z')) {
  9. return 1;
  10. }
  11. return 0;
  12. }
  13.  
  14.  
  15. int main() {
  16. char a[MAX_LENGTH], b[MAX_LENGTH + 1];
  17. cin >> a;
  18. int length = strlen(a);
  19.  
  20. int words = 0, letter = 0;
  21. for (int i = 0; i < length; ++i) {
  22. if (isWord(a[i]) == 1) {
  23. letter = 1;
  24. } else if (letter == 1) {
  25. ++words;
  26. letter = 0;
  27. }
  28. b[i + 1] = a[i];
  29. }
  30. if(letter == 1) {
  31. ++words;
  32. }
  33. int matches = 0, counterMatches = 1;
  34. for (int i = 2; i < length + 1; ++i) {
  35. if (b[1] == b[i] && b[1] == b[length - (i - 1) + 1]) {
  36. ++counterMatches;
  37. cout << counterMatches <<" " <<b[1] << " "<< b[length - (i - 1) + 1] <<" ";
  38. cout << i <<" " << length - i + 1 <<"\n";
  39. }
  40. if (b[1] != b[i] && counterMatches >= matches) {
  41. matches = counterMatches;
  42. counterMatches = 1;
  43. }
  44. }
  45. //cout << matches;
  46. //cout << words <<"\n";
  47. int posA = 1, posB = 1;
  48. int counter = 0;
  49. for (int i = 1; i < length / 2 + 1; ++i) { //cout << i << " " << length - i + 1 <<"\n";
  50.  
  51. if (b[i] == b[length - i + 1]) {
  52. ++counter;
  53. posB = i;
  54. } else if (b[i] != b[length - i + 1]) {
  55. posA = i - counter;
  56. counter = 0;
  57. }
  58. }
  59.  
  60. /*
  61. cout << b[i]<< " " << b[length - i + 1]<<" ";
  62. cout << i << " " << length - i + 1 <<"\n";
  63. */
  64.  
  65. for ( int i = 0; i < length; ++i) {
  66. if ((a[i] > 'A' || a[i] < 'Z') && (a[i] == a[length - i])) { //AAAa123BCDAAA!@#zxswAA
  67.  
  68. }
  69. }
  70.  
  71. // cout << length /2;
  72. //cout << a << "\n"<< length;
  73. return 0;
  74. }
Success #stdin #stdout 0.01s 5296KB
stdin
BBBBALIZILABBBb
stdout
2 B B 3 13
3 B B 4 12
2 B B 13 3
3 B B 14 2