#include <iostream> using namespace std; long long zlicz=1; long long abc[3]; int wyr[3000]; string wyraz; bool check (int a, int b, int c) { if((a==0&&b==0&&c>0)||(b==0&&c==0&&a>0)||(a==0&&c==0&&b>0)) return 1; else { if((a==b&&b==c)||(a==0&&b==c)||(b==0&&a==c)||(c==0&&a==b)) return 1; else return 0; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>wyraz; for(int j=0; j<wyraz.size(); j++) { if(wyraz[j]=='a') wyr[j]=0; if(wyraz[j]=='b') wyr[j]=1; if(wyraz[j]=='c') wyr[j]=2; } // for(int j=0;j<wyraz.size();j++) // cout<<wyr[j]; if(wyraz[0]=='a') abc[0]++; if(wyraz[0]=='b') abc[1]++; if(wyraz[0]=='c') abc[2]++; for(int i=1; i<wyraz.size(); i++) { zlicz++; int a=0,b=0,c=0; if(wyr[i]==0) a++; if(wyr[i]==1) b++; if(wyr[i]==2) c++; for(int k=i-1; k>=0; k--) { if(wyr[k]==0) a++; if(wyr[k]==1) b++; if(wyr[k]==2) c++; if(check(a,b,c)==1) { zlicz++; // cout<<a<<" "<<b<<" "<<c<<endl; // cout<<k<<" "<<i<<endl; } } //cout<<" "<<i<<" "<<zlicz<<endl; } cout<<zlicz<<endl; return 0; } //ta sama +1 +ilea //rozna +1 +1 +ile
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #include <iostream> using namespace std; long long zlicz=1; long long abc[3]; int wyr[3000]; string wyraz; bool check (int a, int b, int c) { if((a==0&&b==0&&c>0)||(b==0&&c==0&&a>0)||(a==0&&c==0&&b>0)) return 1; else { if((a==b&&b==c)||(a==0&&b==c)||(b==0&&a==c)||(c==0&&a==b)) return 1; else return 0; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>wyraz; for(int j=0; j<wyraz.size(); j++) { if(wyraz[j]=='a') wyr[j]=0; if(wyraz[j]=='b') wyr[j]=1; if(wyraz[j]=='c') wyr[j]=2; } // for(int j=0;j<wyraz.size();j++) // cout<<wyr[j]; if(wyraz[0]=='a') abc[0]++; if(wyraz[0]=='b') abc[1]++; if(wyraz[0]=='c') abc[2]++; for(int i=1; i<wyraz.size(); i++) { zlicz++; int a=0,b=0,c=0; if(wyr[i]==0) a++; if(wyr[i]==1) b++; if(wyr[i]==2) c++; for(int k=i-1; k>=0; k--) { if(wyr[k]==0) a++; if(wyr[k]==1) b++; if(wyr[k]==2) c++; if(check(a,b,c)==1) { zlicz++; // cout<<a<<" "<<b<<" "<<c<<endl; // cout<<k<<" "<<i<<endl; } } //cout<<" "<<i<<" "<<zlicz<<endl; } cout<<zlicz<<endl; return 0; } //ta sama +1 +ilea //rozna +1 +1 +ile |