#include <iostream>
#include <string>
char vowels[6] = { 'a', 'e', 'i', 'o', 'u', 'y'};
bool check_vow(char candidate);
int main(){
std::string writing;
long long int result, left_let, right_let;
bool st_con, nd_con;
std::cin >> writing;
result = left_let = right_let = 0;
if(writing.size() >= 3){
for(int i = 0; i < writing.size() - 2; i++){
st_con = check_vow(writing[i]) && check_vow(writing[i + 1]) && check_vow(writing[i + 2]);
nd_con = !check_vow(writing[i]) && !check_vow(writing[i + 1]) && !check_vow(writing[i + 2]);
if(st_con || nd_con){
right_let = writing.size() - (i + 3);
result += left_let + right_let + left_let * right_let + 1;
left_let = -1;
}
left_let ++;
}
}
std::cout << result;
}
bool check_vow(char candidate){
for(int i = 0; i < 6; i++)
if(candidate == vowels[i])
return true;
return false;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <iostream> #include <string> char vowels[6] = { 'a', 'e', 'i', 'o', 'u', 'y'}; bool check_vow(char candidate); int main(){ std::string writing; long long int result, left_let, right_let; bool st_con, nd_con; std::cin >> writing; result = left_let = right_let = 0; if(writing.size() >= 3){ for(int i = 0; i < writing.size() - 2; i++){ st_con = check_vow(writing[i]) && check_vow(writing[i + 1]) && check_vow(writing[i + 2]); nd_con = !check_vow(writing[i]) && !check_vow(writing[i + 1]) && !check_vow(writing[i + 2]); if(st_con || nd_con){ right_let = writing.size() - (i + 3); result += left_let + right_let + left_let * right_let + 1; left_let = -1; } left_let ++; } } std::cout << result; } bool check_vow(char candidate){ for(int i = 0; i < 6; i++) if(candidate == vowels[i]) return true; return false; } |
English