#include <iostream> char napis[200000 + 10]; char vovels[] = "euioay"; bool is_vovel(char symbol) { for (int i = 0; vovels[i]; ++i) if (symbol == vovels[i]) return true; return false; } int main() { std::cin >> napis; int n = 0; for (;napis[n];++n); //~ int phones[2] = { 0 , 0 }; long long forb = 0; bool symbol_a; bool symbol_b = is_vovel(napis[0]); bool symbol_c = is_vovel(napis[1]); int j = 0; for (int i = 2; napis[i]; ++i) { symbol_a = symbol_b; symbol_b = symbol_c; symbol_c = is_vovel(napis[i]); if (symbol_a == symbol_b && symbol_b == symbol_c) { //~ std::cout << "i=" << i << " [" << symbol_a << symbol_b << symbol_c << "]" << "[" << napis[i-2] << napis[i-1] << napis[i] << "\n"; forb += 1LL*(i - j - 1)*(n - i); j = i - 1; } } std::cout << forb << "\n"; return 0; }
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 | #include <iostream> char napis[200000 + 10]; char vovels[] = "euioay"; bool is_vovel(char symbol) { for (int i = 0; vovels[i]; ++i) if (symbol == vovels[i]) return true; return false; } int main() { std::cin >> napis; int n = 0; for (;napis[n];++n); //~ int phones[2] = { 0 , 0 }; long long forb = 0; bool symbol_a; bool symbol_b = is_vovel(napis[0]); bool symbol_c = is_vovel(napis[1]); int j = 0; for (int i = 2; napis[i]; ++i) { symbol_a = symbol_b; symbol_b = symbol_c; symbol_c = is_vovel(napis[i]); if (symbol_a == symbol_b && symbol_b == symbol_c) { //~ std::cout << "i=" << i << " [" << symbol_a << symbol_b << symbol_c << "]" << "[" << napis[i-2] << napis[i-1] << napis[i] << "\n"; forb += 1LL*(i - j - 1)*(n - i); j = i - 1; } } std::cout << forb << "\n"; return 0; } |