#include <iostream> #include <vector> using namespace std; int check(int a, int b) { return a==b || a==0 || b==0; } int check(int a, int b, int c) { if (a==0) return check(b,c); if (b==0) return check(a,c); if (c==0) return check(a,b); return a==b && b==c; } int main() { std::ios::sync_with_stdio(false); string s; cin >> s; size_t n = s.length(); unsigned long long sum = 0; for (int i=0;i<n;i++) { int t[3]; t[0] = t[1] = t[2] = 0; for (int j=i;j<n;j++) { t[s[j]-'a']++; sum += check(t[0], t[1], t[2]); } } cout << sum << 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 31 32 33 34 35 36 37 | #include <iostream> #include <vector> using namespace std; int check(int a, int b) { return a==b || a==0 || b==0; } int check(int a, int b, int c) { if (a==0) return check(b,c); if (b==0) return check(a,c); if (c==0) return check(a,b); return a==b && b==c; } int main() { std::ios::sync_with_stdio(false); string s; cin >> s; size_t n = s.length(); unsigned long long sum = 0; for (int i=0;i<n;i++) { int t[3]; t[0] = t[1] = t[2] = 0; for (int j=i;j<n;j++) { t[s[j]-'a']++; sum += check(t[0], t[1], t[2]); } } cout << sum << endl; } |