| ||||||||||
| 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 | |||||||||
完全一样的代码,C++ WA了,g++ A了,郁闷……RT
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
char dic[10001][20];
int dicN;
int res[10001];
int ans;
bool change(char *a,char *b)
{
int num=0;
int len=strlen(a);
for(int i=0;i<len;i++)
if(a[i]!=b[i])
num++;
if(num==1)
return true;
else
return false;
}
bool Add(char* word,char* dict)
{
int dif=0;
while(*dict)
{
if(*word != *dict)
{
dict++;
dif++;
if(dif>1)
return false;
}
else
{
word++;
dict++;
}
}
return true;
}
int main()
{
dicN=0;
while(scanf("%s",dic[dicN]) && dic[dicN++][0]!='#');
dicN--;
char check[20];
while(scanf("%s",check) && check[0]!='#')
{
ans=0;
int len=strlen(check);
bool correct=false;
for(int i=0;i<dicN;i++)
{
int len2=strlen(dic[i]);
if(len==len2)
{
if(strcmp(check,dic[i])==0)
{
correct=true;
break;
}
if(change(dic[i],check))
res[ans++]=i;
}
else if(len2==len-1 && Add(dic[i],check))
res[ans++]=i;
else if(len2==len+1 && Add(check,dic[i]))
res[ans++]=i;
}
if(correct)
{
printf("%s is correct\n");
continue;
}
printf("%s:",check);
for(int i=0;i<ans;i++)
printf(" %s",dic[res[i]]);
printf("\n");
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator