Решение задачи Благозвучное слово с Acmp

Без пояснения   Просмотров: 93


Все буквы английского алфавита делятся на гласные и согласные. Гласными буквами являются: a, e, i, o, u, y. Остальные буквы являются согласными.

Слово называется благозвучным, если в этом слове не встречается больше двух согласных букв подряд и не встречается больше двух гласных букв подряд. Например, слова aabbaa, case, program – благозвучные, а слова aaa, school, search – неблагозвучные.

Дано некоторое слово. Если это слово является неблагозвучным, то разрешается добавлять в любые места этого слова любые буквы. Определите, какое минимальное количество букв можно добавить в это слово, чтобы оно стало благозвучным.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    cin >> s;
    int k = 0, k1 = 0, sum = 0;
    for(int i = 0; i < s.size(); ++i){
        bool b = s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u';
        if(b){
            ++k;
            k1 = 0;
        }
        else{
            ++k1;
            k = 0;
        }
        if(k == 3){
            sum+=1;
            k = 1;
        }
        if(k1 == 3){
            sum+=1;
            k1 = 1;
        }
    }
//    sssssss
    cout << sum;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться