#include<iostream>
using namespace std;
long long odp,ost;
string s;
bool SG(char x)
{
return(x=='a'||x=='e'||x=='i'||x=='o'||x=='u'||x=='y');
}
bool Ost3(long long i)
{
return (SG(s[i-2])&&SG(s[i-1])&&SG(s[i])) || (!SG(s[i-2])&&!SG(s[i-1])&&!SG(s[i]));
}
int main()
{
cin>>s;
ost=0;
long long dl=s.size();
for(long long i=2; i<dl; i++)
{
if(Ost3(i))
{
odp++;
odp+=dl-3-ost;
odp+=(i-2-ost)*(dl-i-1);
ost=i-1;
}
}
cout<<odp;
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 | #include<iostream> using namespace std; long long odp,ost; string s; bool SG(char x) { return(x=='a'||x=='e'||x=='i'||x=='o'||x=='u'||x=='y'); } bool Ost3(long long i) { return (SG(s[i-2])&&SG(s[i-1])&&SG(s[i])) || (!SG(s[i-2])&&!SG(s[i-1])&&!SG(s[i])); } int main() { cin>>s; ost=0; long long dl=s.size(); for(long long i=2; i<dl; i++) { if(Ost3(i)) { odp++; odp+=dl-3-ost; odp+=(i-2-ost)*(dl-i-1); ost=i-1; } } cout<<odp; return 0; } |
English