| ||||||||||
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