#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; } |
English