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