#define FAST ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#include <iostream>
#include <vector>
using namespace std;
int64_t sumN(int64_t n)
{
return n * (n + 1) / 2;
}
int main()
{
FAST
string s;
cin >> s;
int64_t total = 0;
vector<int> occ(3, 0);
for (int i = 0; i < s.size(); i++)
{
occ = {0, 0, 0};
for (int j = i; j < s.size(); j++)
{
occ[s[j] - 'a']++;
if (((!occ[0]) + (!occ[1]) + (!occ[2])) == 2 ||
(occ[0] == occ[1] && occ[1] == occ[2]) ||
(!occ[0] && occ[1] == occ[2]) ||
(!occ[1] && occ[0] == occ[2]) ||
(!occ[2] && occ[0] == occ[1]))
{
total++;
}
}
}
cout << total << 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 | #define FAST ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); #include <iostream> #include <vector> using namespace std; int64_t sumN(int64_t n) { return n * (n + 1) / 2; } int main() { FAST string s; cin >> s; int64_t total = 0; vector<int> occ(3, 0); for (int i = 0; i < s.size(); i++) { occ = {0, 0, 0}; for (int j = i; j < s.size(); j++) { occ[s[j] - 'a']++; if (((!occ[0]) + (!occ[1]) + (!occ[2])) == 2 || (occ[0] == occ[1] && occ[1] == occ[2]) || (!occ[0] && occ[1] == occ[2]) || (!occ[1] && occ[0] == occ[2]) || (!occ[2] && occ[0] == occ[1])) { total++; } } } cout << total << endl; } |
English