方法 LCS
#include<iostream>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<cmath>
using namespace std; short int dp[][]; char str[];
int main( )
{
int N;
while( scanf("%d",&N) != EOF )
{
scanf("%s",str+); int len = strlen( str+ );
memset( dp,,sizeof(dp) ); int Max = ;
for( int i = len; i >= ; i-- )
for( int j = ; j <= i - ; j++ ){
if( str[i] == str[j] ) dp[i][j] = dp[i+][j-]+;
else dp[i][j] = max( dp[i+][j],dp[i][j-] );
if( j == i- ) Max = max( Max,dp[i][j]*);
else Max = max( Max,dp[i][j]*+ );
}
cout<<N-Max<<endl;
}
return ;
}