#include <stdio.h>
#include <string>
#include <vector>
#include <iostream>
typedef long long int llint;
std::string s;
bool is_samo(int i)
{
char c=s[i];
return
c=='a'||
c=='e'||
c=='i'||
c=='o'||
c=='u'||
c=='y';
}
bool is_difficult(int i)
{
bool b0=is_samo(i);
bool b1=is_samo(i+1);
bool b2=is_samo(i+2);
return b0==b1&&b1==b2;
}
int main()
{
std::cin>>s;
int len=(int)s.size();
if(len<3){std::cout<<0;return 0;}
llint res=0;
llint ret=0;
for(int i=len-3;i>=0;--i)
ret+=(res=is_difficult(i)?(len-i-2):res);
std::cout<<ret;
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 | #include <stdio.h> #include <string> #include <vector> #include <iostream> typedef long long int llint; std::string s; bool is_samo(int i) { char c=s[i]; return c=='a'|| c=='e'|| c=='i'|| c=='o'|| c=='u'|| c=='y'; } bool is_difficult(int i) { bool b0=is_samo(i); bool b1=is_samo(i+1); bool b2=is_samo(i+2); return b0==b1&&b1==b2; } int main() { std::cin>>s; int len=(int)s.size(); if(len<3){std::cout<<0;return 0;} llint res=0; llint ret=0; for(int i=len-3;i>=0;--i) ret+=(res=is_difficult(i)?(len-i-2):res); std::cout<<ret; return 0; } |
English