rt 心态真的有点崩。。。
#include <stdio.h>
#include <iostream>
#include <memory.h>
#define int long long
using namespace std;
int ask, all, ans, l;
int t[305], f[305];
string c, a, b;
void jishu(string tt) {
int al = 0;
int ll = tt.length();
for(int i = 0; i < ll - 1; ++i) {
if(f[tt[i]] % 2 == 0)
++al;
else
--al;
if(al <= all) ++ans;
f[tt[i]] += 1;
}
memset(f, 0, sizeof f);
}
void chuli(int r) {
bool bj = false;
for(int i = 1; i < r; ++i) {
a.clear();
if(r % (i + 1) == 0) {
for(int k = 0; k <= i; ++k)
a += c[k];
for(int k = i + 1; k < r; k += i + 1) {
for(int q = k; q <= k + i; ++q)
b += c[q];
if(a != b)
bj = true;
b.clear();
}
if(!bj) {
// cout << a << endl;
jishu(a);
}
bj = false;
}
}
}
signed main() {
freopen("string.in", "r", stdin);
freopen("srtring.out", "w", stdout);
scanf("%lld", &ask);
for(int i = 1; i <= ask; ++i) {
cin >> c;
l = c.length();
for(int j = l - 1; j >= 0; --j) {
if(t[c[j]] % 2 == 0)
++all;
else
--all;
t[c[j]] += 1;
chuli(j);
}
printf("%lld\n", ans);
memset(t, 0, sizeof t);
all = 0;
ans = 0;
c.clear();
}
return 0;
}