#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; } |