#include <cstdio> char tab[200005]; main(){ scanf("%s",tab); long long sum=0; long long i=0,len,ileA=0,ileB=0,lastInd=-1,j; for(len=0;tab[len]!='\0';len++){} for(j=0;tab[j]!='\0';j++){ if((tab[j]=='a')||(tab[j]=='e')||(tab[j]=='y')||(tab[j]=='u')||(tab[j]=='i')||(tab[j]=='o')){ ileA++; ileB=0; } else{ ileA=0; ileB++; } // printf("[%d %d]\n",ileA,ileB); if(ileA>2 || ileB>2){ // printf("jj %d %d %d\n",j,(j - 2 - lastInd),(len-j)); sum += (j - 2 - lastInd)*(len-j); lastInd=j-2; // printf("%d\n",sum); } } printf("%lld\n",sum); }
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 | #include <cstdio> char tab[200005]; main(){ scanf("%s",tab); long long sum=0; long long i=0,len,ileA=0,ileB=0,lastInd=-1,j; for(len=0;tab[len]!='\0';len++){} for(j=0;tab[j]!='\0';j++){ if((tab[j]=='a')||(tab[j]=='e')||(tab[j]=='y')||(tab[j]=='u')||(tab[j]=='i')||(tab[j]=='o')){ ileA++; ileB=0; } else{ ileA=0; ileB++; } // printf("[%d %d]\n",ileA,ileB); if(ileA>2 || ileB>2){ // printf("jj %d %d %d\n",j,(j - 2 - lastInd),(len-j)); sum += (j - 2 - lastInd)*(len-j); lastInd=j-2; // printf("%d\n",sum); } } printf("%lld\n",sum); } |