#include <bits/stdc++.h> using namespace std; string s; bool f; int c,d; unsigned long long wynik; bool samo(char x) { if((x=='a') || (x=='e') || (x=='i') || (x=='o') || (x=='u') || (x=='y')){ return 1; } else{ return 0; } } int main() { ios_base::sync_with_stdio(0); cin>>s; wynik=s.size()*(s.size()+1)/2-s.size()-s.size()+1; //cout<<wynik<<endl; if(s.size()<=2){ cout<<0<<endl; return 0; } if(samo(s[0])==0){ f=0; } c=1; d=1; for(int i=1; i<s.size(); i++){ if(samo(s[i])==0){ if(f==0){ c++; } else{ f=0; c=1; } } else{ if(f==1){ c++; } else{ c=1; f=1; } } d++; if(c<3 && d>2){ //cout<<i<<endl; wynik-=(d-2); } else{ c=2; d=2; } } cout<<wynik<<endl; }
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <bits/stdc++.h> using namespace std; string s; bool f; int c,d; unsigned long long wynik; bool samo(char x) { if((x=='a') || (x=='e') || (x=='i') || (x=='o') || (x=='u') || (x=='y')){ return 1; } else{ return 0; } } int main() { ios_base::sync_with_stdio(0); cin>>s; wynik=s.size()*(s.size()+1)/2-s.size()-s.size()+1; //cout<<wynik<<endl; if(s.size()<=2){ cout<<0<<endl; return 0; } if(samo(s[0])==0){ f=0; } c=1; d=1; for(int i=1; i<s.size(); i++){ if(samo(s[i])==0){ if(f==0){ c++; } else{ f=0; c=1; } } else{ if(f==1){ c++; } else{ c=1; f=1; } } d++; if(c<3 && d>2){ //cout<<i<<endl; wynik-=(d-2); } else{ c=2; d=2; } } cout<<wynik<<endl; } |