Advertisement
Mirbek

ТЫНЫСТАНОВ

Feb 8th, 2022
711
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. bool isVowel(char c) {
  6.     return c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'Y';
  7. }
  8.  
  9. int main(){
  10.     string s;
  11.     cin >> s;
  12.  
  13.     for (int i = 5; i >= 0; i--) {
  14.         if (s[i] == 'Z') {
  15.             s[i] = 'A';
  16.         } else {
  17.             s[i]++;
  18.             break;
  19.         }
  20.     }
  21.  
  22.     set <char> st;
  23.     for (int i = 0; i < 6; i++) {
  24.         if (isVowel(s[i])) {
  25.             st.insert(s[i]);
  26.         }
  27.     }
  28.  
  29.     if (st.size() == 0) {
  30.         for (int i = 5; i >= 0; i--) {
  31.             if (s[i] == 'Z') {
  32.                 s[i] = 'A';
  33.             } else {
  34.                 if (i == 5) {
  35.                     while (!isVowel(s[i]))
  36.                         s[i]++;
  37.                 } else {
  38.                     s[i]++;
  39.                     if (isVowel(s[i])) {
  40.                         for (int j = i + 1; j < 6; j++) {
  41.                             s[j] = 'B';
  42.                         }
  43.                     }
  44.                 }
  45.                 break;
  46.             }
  47.         }
  48.     } else if (st.size() >= 2) {
  49.         for (int i = 0; i < 6; i++) {
  50.             if (isVowel(s[i])) {
  51.                 for (int j = i + 1; j < s.size(); j++) {
  52.                     if (s[i] != s[j] && isVowel(s[j])) {
  53.                         s[j]++;
  54.                         for (int k = j + 1; k < 6; k++) {
  55.                             if (s[i] == 'A')
  56.                                 s[k] = 'A';
  57.                             else
  58.                                 s[k] = 'B';
  59.                         }
  60.                         break;
  61.                     }
  62.                 }
  63.                 break;
  64.             }
  65.         }
  66.     }
  67.  
  68.     cout << s << endl;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement