| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我就是不知道错哪了?怎么就是WA能,哪位好心人能帮看看,谢谢!!!!!#include<cstdio>
#include<cstring>
char a[5010];
char res[5010][5010];
int getMin(int i , int j)
{
int min=6000 ,m;
if(res[i][j] != -1)
return res[i][j];
if(i >= j)
return 0;
if(a[i] == a[j])
min = getMin(i+1,j-1);
/* m1=getMin(i+1,j)+1;
if(m1 < min)
min = m1;
m2=getMin(i,j-1)+1;
if(m2 < min)
min = m2;*/
else
{
min = getMin(i+1,j)+1;
m = getMin(i,j-1)+1;
if(m<min)
min=m;
}
res[i][j]=min;
return min;
}
int main()
{
int min;
int n;
while(scanf("%d",&n)!=EOF)
{
memset(res,255,sizeof(res));
scanf("%s",a);
min=getMin(0,n-1);
printf("%d\n",min);
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator