#include<bits/stdc++.h> std::string x; long long dobre=1; bool sam[300]; bool last; long long ile=1; long long len=1; long long dl; int main(){ sam['a']=sam['e']=sam['i']=sam['o']=sam['u']=sam['y']=true; std::cin>>x; last=sam[x[0]]; dl=x.size(); for(int i=1;i<x.size();i++){ if(sam[x[i]]==last){ ile++; }else{ ile=1; last=sam[x[i]]; } if(ile<3) len++; else len=2; dobre+=len; } std::cout<<dl*(dl+1)/2-dobre<<std::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 | #include<bits/stdc++.h> std::string x; long long dobre=1; bool sam[300]; bool last; long long ile=1; long long len=1; long long dl; int main(){ sam['a']=sam['e']=sam['i']=sam['o']=sam['u']=sam['y']=true; std::cin>>x; last=sam[x[0]]; dl=x.size(); for(int i=1;i<x.size();i++){ if(sam[x[i]]==last){ ile++; }else{ ile=1; last=sam[x[i]]; } if(ile<3) len++; else len=2; dobre+=len; } std::cout<<dl*(dl+1)/2-dobre<<std::endl; } |