题意:超级回文,一个字符串的任意长度的奇数的子串是回文串。
思路:只要任意长度为3的子串是回文串,即可满足题意,故只要奇数位的字母一样,偶数位的字母一样就可以满足题意。
#include<stdio.h> #include<string.h> int main() { int T; scanf("%d",&T); while(T--){ char str[150]; scanf("%s",str); int len = strlen(str); int cnt = 0; int num[26]; int max=-1; memset(num,0,sizeof(num)); for(int i = 0;i <= len-1; i += 2){ num[str[i]-'a']++; } for(int i = 0;i <= 25; ++i){ if(num[i] > max) max = num[i]; } cnt = max; max = -1; memset(num,0,sizeof(num)); for(int i = 1;i <= len-1; i += 2){ num[str[i]-'a']++; } for(int i = 0;i <= 25; ++i){ if(num[i] > max) max = num[i]; } cnt += max; printf("%d\n",len-cnt); } return 0; }