#include <iostream> #include <vector> using namespace std; bool isSam(char c) { return c == 'a' || c == 'e' || c == 'u' || c == 'y' || c == 'i' || c == 'o'; } int main(){ string input; cin >> input; int sam =0; int spol =0; vector<int> positions; for (int i=0; i <input.size();i++){ if (isSam(input[i])){ sam++; spol=0; } else { sam = 0; spol++; } if (sam >= 3 or spol >= 3) { positions.push_back(i); } } int sum=0; for (int i=0;i<positions.size();i++){ int currentPosition = positions[i]; int back = (currentPosition - 1); sum += back; if (i != positions.size() -1) { int forward = (positions[i+1]-currentPosition-1)*back; sum+=forward; } else { int forward = (input.size() - currentPosition-1)*back; sum+= forward;//popppo } } cout << sum << endl; 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <iostream> #include <vector> using namespace std; bool isSam(char c) { return c == 'a' || c == 'e' || c == 'u' || c == 'y' || c == 'i' || c == 'o'; } int main(){ string input; cin >> input; int sam =0; int spol =0; vector<int> positions; for (int i=0; i <input.size();i++){ if (isSam(input[i])){ sam++; spol=0; } else { sam = 0; spol++; } if (sam >= 3 or spol >= 3) { positions.push_back(i); } } int sum=0; for (int i=0;i<positions.size();i++){ int currentPosition = positions[i]; int back = (currentPosition - 1); sum += back; if (i != positions.size() -1) { int forward = (positions[i+1]-currentPosition-1)*back; sum+=forward; } else { int forward = (input.size() - currentPosition-1)*back; sum+= forward;//popppo } } cout << sum << endl; return 0; } |