| ||||||||||
| 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 | |||||||||
为什么总是RE?高手帮我看一下#include<stdio.h>
#define M 101
#define N 101
int cmp(char ch1[],char ch2[])
{
int len1=0,len2=0,temp=0,min=0;
int a[M][N],i=0,j=0;
while(ch1[len1]!='\0')
len1++;
while(ch2[len2]!='\0')
len2++;
for(i=0;i<=len1;i++)a[i][0]=i;
for(j=0;j<=len2;j++)a[0][j]=j;
for(i=1;i<=len1;i++)
for(j=1;j<=len2;j++)
{
min=32767;
temp=ch1[i-1]==ch2[j-1] ? 0:2;
if(min>a[i-1][j]+1)
min=a[i-1][j]+1;
if(min>a[i][j-1]+1)
min=a[i][j-1]+1;
if(min>a[i-1][j-1]+temp)
min=a[i-1][j-1]+temp;
a[i][j]=min;
}
return a[len1][len2];
}
int depart(char ch[],int len)
{
int i=0,j=0,k=0,min=32767,rem1=0,rem2=0,temp=0;
char ch1[M],ch2[N];
min=len;
for(i=0;i<len;i++)
{
for(j=0;j<M;j++) ch1[j]='\0';
for(j=0;j<N;j++) ch2[j]='\0';
for(j=0;j<i;j++)
{
ch1[j]=ch[j];
}
ch1[j+1]='\0';
temp=len-j-1;
ch2[temp+1]='\0';
for(j,k=len-j-1;j<len;j++,k--)
{
ch2[k]=ch[j];
}
rem1=cmp(ch1,ch2);
ch2[temp]='\0';
rem2=cmp(ch1,ch2);
if(min>rem1)
min=rem1;
if(min>rem2)
min=rem2;
}
return min;
}
int main()
{
int len;
scanf("%d",&len);
char ch[N];
scanf("%s",ch);
printf("%d",depart(ch,len));
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator