Source Code
Problem: 1159 User: XXX
Memory: 204K Time: 750MS
Language: C++ Result: Accepted
Source Code
#include <stdio.h>
#include <string.h>
int main()
{
char str[5005];
int n[2][5006] ,i ,j ,m;
while(scanf("%d",&m) != EOF)
{
scanf("%s",str);
memset(n ,0 ,sizeof(n));
for(i = 1 ;i <= m ;i++)
{
for(j = 1 ;j <= m ;j++)
{
if(str[i - 1] == str[m - j])
n[i % 2][j] = n[(i - 1) % 2][j - 1] + 1;
else
n[i % 2][j] = n[(i - 1) % 2][j] > n[i % 2][j - 1] ? n[(i - 1) % 2][j] : n[i % 2][j - 1];
//printf("%d ",n[i % 2][j]);
}
//printf("\n");
}
printf("%d\n",m - n[m % 2][m]);
}
return 0;
}
水过。。。
快别扯淡了,我什么都不想听