2011-05-23 22:10:14 #include<iostream> #include<stdio.h> #include<set> #include<string> using namespace std; char str1[2][211],str2[2][211]; int main() { set<string> mySet; char str[211], temp[211]; int n,i,j,k,ll,x,len; while (~scanf("%d",&n)) { while (n--) { scanf("%s",str); len=strlen(str); mySet.clear(); if(len==1) printf("1/n"); else { for(i=1;len-i>0;i++) { for(j=0;j<i;j++) { str1[0][j]=str[j];str1[1][j]=str[i-j-1];} str1[0][j]=str1[1][j]='/0'; for(j=0;j<len-i;j++) {str2[0][j]=str[j+i]; str2[1][j]=str[len-j-1];} str2[0][j]=str2[1][j]='/0'; for(j=0;j<2;j++) { for(k=0;k<2;k++) { strcpy(temp,str1[j]); strcat(temp,str2[k]); mySet.insert(temp); } } for(j=0;j<2;j++) { for(k=0;k<2;k++) { strcpy(temp,str2[j]); strcat(temp,str1[k]); mySet.insert(temp); } } } printf("%d/n",mySet.size()); } } } return 0; }