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 <stdio.h> #include <string.h> //看是否b是a的字串的函数 int testdel(char a[18],char b[18]){ int i,j,k,lena,lenb; char temp[18]; lena=strlen(a); lenb=strlen(b);//其实lena=lenb+1; for(i=0;i<lena;i++){ k=0; memset(temp,'\0',18); for(j=0;j<lena;j++){ if(i!=j) temp[k++]=a[j]; } if(strcmp(temp,b)==0) return 1; } return 0; } //看是否a和b只有一位不同的函数 int testchg(char a[18],char b[18]){ int lena,i,count=0; lena=strlen(a); for(i=0;i<lena;i++) if(a[i]!=b[i]) count++; return count; } int main(){ char s[17][10010][18],ch[18],r[10000][18],temp[18]; int key[18]={0}; int len,k=0,i,j,t,m[10000]={0},flag; memset(s,'\0',3063060); while(1){ scanf("%s",ch); if(ch[0]=='#') break; len=strlen(ch); strcpy(s[len][key[len]++],ch); s[len][key[len]-1][17]=k++; } while(1){ scanf("%s",ch); len=strlen(ch); if(ch[0]=='#') break; if(key[len]>0){ flag=0; for(i=0;i<key[len];i++) if(strcmp(s[len][i],ch)==0) { flag=1; printf("%s is correct\n",ch); break;//找到了 } if(flag==1) continue; } t=0; if(len>1&&key[len-1]>=1) for(i=0;i<key[len-1];i++){ if(testdel(ch,s[len-1][i])==1){//看看是不是输入的字串,如果是就可以删除一个成为正常的 m[t]=s[len-1][i][17];//记录这个本来的顺序 strcpy(r[t++],s[len-1][i]); } } if(key[len]>0) for(i=0;i<key[len];i++) { if(testchg(ch,s[len][i])==1){//看看是不是只有一位不同,如果是,就可以改正 m[t]=s[len][i][17];//记录这个本来的顺序 strcpy(r[t++],s[len][i]); } } if((len+1<=15)&&key[len+1]>0) for(i=0;i<key[len+1];i++){ if(testdel(s[len+1][i],ch)==1){//看看输入的是不是它的字串,如果是就可以增加一个成为正常的 m[t]=s[len+1][i][17];//记录这个本来的顺序 strcpy(r[t++],s[len+1][i]); } } //根据顺序对m进行排序,并且输出就可以了 if(t==0) printf("%s:\n",ch); else { printf("%s:",ch); for(i=0;i<t;i++){ for(j=i;j<t;j++){ if(m[i]>m[j]) { m[i]=m[j]+m[i]; m[j]=m[i]-m[j]; m[i]=m[i]-m[j]; strcpy(temp,r[i]); strcpy(r[i],r[j]); strcpy(r[j],temp); } } printf(" %s",r[i]); } 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