#include<bits/stdc++.h>
using namespace std;
#define int long long
char gloski[6]={'a','e','i','o','u','y'};
bool sam(char x){ //czy jest samogloska
for(int i=0;i<6;i++)if(x==gloski[i])return 1;
return 0;
}
main(){
std::ios_base::sync_with_stdio(false);
string S;cin>>S;
for(int i=0;i<S.size();i++)S[i]=sam(S[i]);
if(S.size()<3)cout<<0<<endl;
else{
int pierwszy=0;
int iledobrych=0;
int p=0;
int q=1;
while(q<S.size() ) {
while((S[q+1]!=S[q] or S[q-1]!=S[q]) and q+1<S.size())q++; //na takim fragmencie sa same dobre
iledobrych+=(q-p+1)*(q-p+2)/2-1;
pierwszy++;
q++;p=q-1;
}
if(pierwszy>1)iledobrych++;
int w=((S.size()+1)*(S.size())/2-iledobrych);
cout<<w<<"\n";
}
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 | #include<bits/stdc++.h> using namespace std; #define int long long char gloski[6]={'a','e','i','o','u','y'}; bool sam(char x){ //czy jest samogloska for(int i=0;i<6;i++)if(x==gloski[i])return 1; return 0; } main(){ std::ios_base::sync_with_stdio(false); string S;cin>>S; for(int i=0;i<S.size();i++)S[i]=sam(S[i]); if(S.size()<3)cout<<0<<endl; else{ int pierwszy=0; int iledobrych=0; int p=0; int q=1; while(q<S.size() ) { while((S[q+1]!=S[q] or S[q-1]!=S[q]) and q+1<S.size())q++; //na takim fragmencie sa same dobre iledobrych+=(q-p+1)*(q-p+2)/2-1; pierwszy++; q++;p=q-1; } if(pierwszy>1)iledobrych++; int w=((S.size()+1)*(S.size())/2-iledobrych); cout<<w<<"\n"; } return 0; } |
English