Lang:G++
Edit123456789101112131415161718192021222324#include <bits/stdc++.h>using namespace std;const int maxn = 100 + 10;char str[maxn];int dp[maxn][maxn];int main(){while(~scanf("%s",str)){int len = strlen(str);for( int i = len-1; i >= 0; i-- ){for( int j = i + 1; j < len; j++ ){if(str[i] == str[j]){dp[i][j] = dp[i+1][j-1];}else {dp[i][j] = min(dp[i+1][j],min(dp[i][j-1],dp[i+1][j-1])) + 1;}}}printf("%d\n",dp[0][len-1]);}return 0;}