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