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