1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #define N 10010 5 using namespace std; 6 7 int dp[500][500]; 8 char a[N],b[N]; 9 int main () 10 { 11 int T,ca,a_len,i,j; 12 scanf("%d",&T); 13 for(ca=1;ca<=T;ca++) 14 { 15 scanf("%s",&a); 16 a_len=strlen(a); 17 for(i=0,j=a_len-1;i<a_len;i++,j--) 18 b[j]=a[i]; 19 memset(dp,0,sizeof(dp)); 20 int max1=0; 21 for(i=0;i<a_len;i++) 22 for(j=0;j<a_len;j++) 23 { 24 if(a[i]!=b[j]) 25 dp[i][j]=max(dp[i][j-1],dp[i-1][j]); 26 else 27 dp[i][j]=dp[i-1][j-1]+1; 28 } 29 printf("Case %d: %d ",ca,a_len-dp[a_len-1][a_len-1]); 30 } 31 }