#include <bits/stdc++.h>
using namespace std;
#define int long long
char s[1005];
int f[1005][1005];
signed main()
{
scanf("%s", s + 1);
int l = strlen(s + 1);
memset(f, 0x3f, sizeof(f));
for (int i = 1; i <= l; i++)
f[i][i] = 0;
for (int j = 2; j <= l; j++)
{
for (int i = 1; i + j - 1 <= l; i++)
{
if (s[i] == s[i + j - 1])
f[i][i + j - 1] = min(f[i][i + j - 1], f[i + 1][i + j - 2]);
else
f[i][i + j - 1] = min(f[i + 1][i + j - 1] + 1, f[i][i + j - 2] + 1);
}
}
cout << f[1][l];
return 0;
}
评测记录