#include<bits/stdc++.h>
using namespace std;
bool gloski[30];
long long f(long long x){
return (x-1)*(x-2)/2;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
gloski[0]=1;
gloski[4]=1;
gloski[8]=1;
gloski[14]=1;
gloski[20]=1;
gloski[24]=1;
string t;
cin>>t;
int last=0;
long long wynik=f(t.size());
for(int i=1; i<t.size()-1; i++){
if(gloski[t[i]-'a']==gloski[t[i-1]-'a'] and gloski[t[i]-'a']==gloski[t[i+1]-'a']){
wynik-=f(i+1-last);
last=i;
}
}
wynik-=f(t.size()-last);
cout<<wynik;
}
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<bits/stdc++.h> using namespace std; bool gloski[30]; long long f(long long x){ return (x-1)*(x-2)/2; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); gloski[0]=1; gloski[4]=1; gloski[8]=1; gloski[14]=1; gloski[20]=1; gloski[24]=1; string t; cin>>t; int last=0; long long wynik=f(t.size()); for(int i=1; i<t.size()-1; i++){ if(gloski[t[i]-'a']==gloski[t[i-1]-'a'] and gloski[t[i]-'a']==gloski[t[i+1]-'a']){ wynik-=f(i+1-last); last=i; } } wynik-=f(t.size()-last); cout<<wynik; } |
English