小墨在努力!!
吗了个b的。。。。。
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;
}

水过。。。

posted on 2012-02-14 23:53  小墨在努力!!  阅读(125)  评论(0编辑  收藏  举报