这题目比较简单,把思路搞清楚就可以啦。

#include <stdio.h>
#include <string.h>
char words[+][]; int init(){
int cnt=;
while(~scanf("%s",words[cnt])){
if(strcmp("#",words[cnt])==) return cnt;
cnt++;
}
}
int judge(char a[],char b[]){
int success;
int la=strlen(a);
int lb=strlen(b);
int i,j,k;
int cnt=;
if(la==lb){
for(i=;i<la;++i)
if(a[i]!=b[i])
cnt++;
if(cnt==) return ;
} if(la==lb+)
for(i=;i<la;++i){
success=;
for(j=,k=;j<la&&k<lb;){
if(j==i){
j++;continue;
}
if(a[j]!=b[k]){
success=;
}
j++;k++;
}
if(success==) return ;
}
if(la+==lb)
for(i=;i<lb;++i){
success=;
for(j=,k=;j<la&&k<lb;){
if(k==i){
k++;continue;
}
if(a[j]!=b[k]){
success=;
}
j++;k++;
}
if(success==) return ;
}
return ;
} void done(int cnt){
char tmp[];
int i;
int success;
while(~scanf("%s",tmp)){
if(strcmp(tmp,"#")==)
return;
success=;
for(i=;i<cnt;++i){
if(strcmp(words[i],tmp)==){
printf("%s is correct\n",tmp);
success=;
break;
}
}
if(success==)
continue;
printf("%s:",tmp);
for(i=;i<cnt;++i){
if( judge(words[i],tmp)==){
printf(" %s",words[i]);
}
}
printf("\n");
}
return ;
}
int main(){
done(init());
return ;
}

最新文章

  1. 有向图的强连通分量的求解算法Tarjan
  2. 2014 UESTC暑前集训动态规划专题解题报告
  3. 【LeetCode OJ】Palindrome Partitioning II
  4. hibernate的运行流程
  5. Object-C在Nil上调用方法
  6. 关于sqfa
  7. android——使用自带录屏工具进行屏幕录像
  8. CSS 3 属性学习 —— 1. Gradient 渐变
  9. 转:MySql的commit和rollback
  10. 从零开始,使用python快速开发web站点(2)
  11. docker容器安全
  12. css媒体查询:响应式网站
  13. ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)
  14. wmv12下安装centos7
  15. BBS+Blog项目开发
  16. LeetCode算法题-Balanced Binary Tree(Java实现)
  17. 秘密袭击 [BZOJ5250] [树形DP]
  18. [UE4]机器人自动寻路
  19. 《TCP/IP具体解释卷2:实现》笔记--ICMP:Internet控制报文协议
  20. UML笔记1

热门文章

  1. Hadoop中两表JOIN的处理方法(转)
  2. Win8下修改任務欄的資源管理器默認打開位置
  3. ajax实现的无刷新分页代码实例
  4. Jmeter+jenkins接口性能测试平台实践整理(二)
  5. 解决JSP 不解析EL表达式
  6. struts (四) path DMI
  7. [ActionScript 3.0] 根据xml属性查找相应xml节点,递归函数。
  8. Oracle中增加,修改,删除表中的列
  9. Mac 下 Maven 的命令行安装
  10. 光流算法:关于OpenCV读写middlebury网站给定的光流的代码