暴力解决。

先把字典里的每一个单词的长度存起来。在查找的时候。就比較长度,在多一个少一个之间找,

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<stdlib.h>
#include<algorithm>
#include<queue>
using namespace std;
char s[10005][20];
char h[20];
int w[10005],len;
int show(int a)
{
int i,t,k;
int bu=0;
t=w[a]-len;
if(t>1)
return 1;
if(t==0)
{
for(i=0;i<w[a];i++)
{
if(h[i]!=s[a][i])
{bu++;}
}
if(bu==1)
return 0;
}
else
{
if(t==1)
{
for(i=0,k=0;i<w[a];)
{
if(h[k]!=s[a][i])
{bu++;i++;}
else
{
i++;k++;
}
}
if(bu==1)
return 0;
}
else
if(t==-1)
{
for(i=0,k=0;k<len;)
{
if(h[k]!=s[a][i])
{bu++;k++;}
else
{
i++;k++;
}
}
}
if(bu==1)
return 0;
}
return 1;
}
int main()
{
int i=0;
while(scanf("%s",&s[i]))
{
if(s[i][0]=='#')
break;
w[i]=strlen(s[i]);
i++;
}
i--;
int j;
while(scanf("%s",h))
{
if(h[0]=='#')
break;
printf("%s",h);
len=strlen(h);
// printf("%d ,%s",i,s[0]);
for(j=0;j<=i;j++)
{
if(w[j]==len&&strcmp(s[j],h)==0)
{printf(" is correct\n");
break;}
}
if(j>i)
{
printf(":");
for(j=0;j<=i;j++)
if(show(j)==0) printf(" %s",s[j]);
printf("\n");
}
}
return 0;
}

最新文章

  1. C#语法糖大汇总
  2. 用Crontab打造简易工作流引擎
  3. UVA 10089 Repackaging 数学问题
  4. 你真的了解UIView吗?
  5. redis中set命令的源码分析
  6. nrf51822裸机教程-GPIO
  7. js 中对字符串操作的函数
  8. Ios插件开发
  9. 一个PDO类
  10. CSS3 学习
  11. POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
  12. Docker 初级实践
  13. shell中的退出状态码
  14. MVC 5 的 EF6 Code First 入门 系列:排序、筛选和分页
  15. MySQL_表锁_lock tables tableName read
  16. JS-圣杯模式
  17. css格式
  18. HappytimeOnvif Client V8.3的使用
  19. SRM480
  20. Django中的DateTimeField格式

热门文章

  1. Windows 10家庭版也能共享打印机(中)解除Guest账户网络登录限制,实现局域网共享
  2. 怎样在Android.mk上加宏定义【转】
  3. PHP 比 Java 的开发效率高在哪?
  4. [ASP.Net] 转 &gt; ASP.NET MVC 小牛之路
  5. 使用python进行re拆分网页内容
  6. 在linux上加速git clone
  7. Gerapy 使用详解
  8. 学习英语的小习惯(IT版) 不断补充中~~~~~~
  9. web前端处理订单待支付倒计时计算显示问题
  10. Rsync同步神器