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?SAMPLE似乎每问题,但一运行...... #include<stdio.h> #include<string.h> #include<math.h> int check(char a[],char b[],int l1,int l2) {int i,j,s=0,p,left1=0,left2=0,right1=l1-1,right2=l2-1; if(l1==l2) {for(i=0;i<=right1;i++) if(a[i]!=b[i]){s=1;break;} if(s==0)return 1; for(j=right1;j>i;j--) if(a[j]!=b[j])return 0; return 2;} if(l1>l2)p=l1; else p=l2; while((left1<l1)&&(left2<l2)) if(a[left1++]==b[left2++])p--; else break; while((right1>=0)&&(right2>=0)) if(a[right1--]==b[right2--])p--; else break; if(p==1)return 2; return 0;} int main() {int i,j,q,l1[10020],l2[550],right,top1=-1,top2=-1,top,t[1000]; char dit[10020][20],run[550][20]; while(1) {scanf("%s",dit[++top1]); l1[top1]=strlen(dit[top1]); if((l1[top1]==1)&&(dit[top1][0]=='#')) {top1--;break;}} while(1) {scanf("%s",run[++top2]); l2[top2]=strlen(run[top2]); if((l2[top2]==1)&&(run[top2][0]=='#')) {top2--;break;}} for(i=0;i<=top2;i++) {top=0;right=0; for(j=0;j<=top1;j++) if(fabs(l1[j]-l2[i])<2) {q=check(dit[j],run[i],l1[j],l2[i]); if(q==1){right=1;break;} if(q==2)t[++top]=j;} if(right==1)printf("%s is correct\n",run[i]); else{printf("%s:",run[i]); for(j=1;j<=top;j++) printf(" %s",dit[t[j]]); printf("\n"); }}return 0;} Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator