题目大意:输入一个字典,再输入一些单词,如果单词在字典里有的则输出“*** is correct”,否则如果字典里某些单词能通过增加/删除/修改一个字符变成输入的单词,则依次输出这些单词。

思路:模拟、字符串处理。

按照题目要求模拟即可。

C++ Code:

 1 #include<cstring>
 2 #include<cstdio>
 3 using namespace std;
 4 char dic[10005][18];
 5 int n=1;
 6 char s[18];
 7 int main(){
 8     while(scanf("%s",dic[n])&&dic[n][0]!='#')n++;
 9     n--;
10     while(scanf("%s",s)&&s[0]!='#'){
11         bool flag=false;
12         printf("%s",s);
13         for(int i=1;i<=n;i++)if(strcmp(dic[i],s)==0){//判断在字典中有该单词的情况
14             flag=true;
15             break;
16         }
17         if(flag){
18             printf(" is correct\n",s);
19             continue;
20         }
21         putchar(':');
22         for(int i=1;i<=n;i++){
23             int dicL=strlen(dic[i]),sL=strlen(s);
24             if(dicL-sL==1){//判断删除一个字符符合条件的情况
25                 int dicn=0,sn=0;
26                 while(dic[i][dicn]==s[sn])dicn++,sn++;
27                 dicn++;
28                 while(dic[i][dicn]==s[sn]&&dicn!=dicL&&sn!=sL)dicn++,sn++;
29                 if(dicn==dicL&&sn==sL)printf(" %s",dic[i]);
30             }else
31             if(sL-dicL==1){//判断插入一个字符符合条件的情况
32                 int dicn=0,sn=0;
33                 while(dic[i][dicn]==s[sn])dicn++,sn++;
34                 sn++;
35                 while(dic[i][dicn]==s[sn]&&dicn!=dicL&&sn!=sL)dicn++,sn++;
36                 if(dicn==dicL&&sn==sL)printf(" %s",dic[i]);
37             }else
38             if(sL==dicL){//判断修改一个字符符合条件的情况
39                 int dicn=0,sn=0;
40                 while(dic[i][dicn]==s[sn])dicn++,sn++;
41                 dicn++,sn++;
42                 while(dic[i][dicn]==s[sn]&&dicn!=dicL&&sn!=sL)dicn++,sn++;
43                 if(dicn==dicL&&sn==sL)printf(" %s",dic[i]);
44             }
45         }
46         putchar('\n');
47     }
48     return 0;
49 }

转载于:https://www.cnblogs.com/Mrsrz/p/6885782.html

[POJ1035]Spell checker相关推荐

  1. POJ-1035 Spell checker 暴力

    直接暴力. 代码如下: #include <cstring> #include <cstdio> #include <cstdlib> #include <m ...

  2. android studio spellchecker,Exclude files from Android Studio lint spell checker

    问题 The Android Studio lint spell checker flags hex codes that look to it like words in certain files ...

  3. 论文阅读-FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based

    来源:爱奇艺 EMNLP2019 Workshop 论文:https://aclanthology.org/D19-5522.pdf 代码:GitHub - iqiyi/FASPell: 2019-S ...

  4. vscode php代码检测,VSCODE代码拼写检查插件Code Spell Checker

    Code Spell Checker是一款VSCODE代码拼写检查插件,可以为开发者报告一些常见的拼写错误.这个拼写检查程序的目标是帮助捕获常见的拼写错误,同时保持低误报的数量.它很适合驼峰式代码. ...

  5. POJ 1035, Spell checker

    brutal force 1. 生成字典, 并按长度排序. 2. 对于给定单词, 取得区间 [单词长度 - 1, 单词长度 + 1], 并匹配. 3. 如果存在完全匹配的单词, 打印输出, 否则把可能 ...

  6. poj 1035 Spell checker(hash)

    题目链接:http://poj.org/problem?id=1035 思路分析: 1.使用哈希表存储字典 2.对待查找的word在字典中查找,查找成功输出查找成功信息 3.若查找不成功,对word增 ...

  7. POJ 2341 Spell checker 笔记

    找出句首单词首字母小写和大写字母不是单词的第一个字母的错误.

  8. 【论文阅读】ReaLiSe:Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking

    文章目录 本篇论文所需基础 论文内容 摘要(Abstract) 1. 介绍(Introduction)(略) 2. 相关工作 3. 模型部分(The REALISE Model) 3.1 语义编码器( ...

  9. POJ的题目分类(两个版本)

    版本一: 简单题 1000A+B Problem 1001Exponentiation 1003 Hangover 1004 Financial Management 1005 I Think I N ...

  10. 字符串编辑距离(Edit Distance)

    一.问题描述 定义 字符串编辑距离(Edit Distance),是俄罗斯科学家 Vladimir Levenshtein 在 1965 年提出的概念,又称 Levenshtein 距离,是指两个字符 ...

最新文章

  1. 【每日DP】day7P1064 金明的预算方案 (分组背包,我又悟了)难度⭐⭐★
  2. Jenkins Pipeline构建流水线发布
  3. html button 隐藏_java servlet与html数据交互初体验
  4. python什么时候用类_python中什么时候使用自定义类
  5. 品优购dubbox文档bug连环计,还是自己敲最实在!!!!!!
  6. TeamCola - 最好用的团队工作日志软件
  7. 最佳字符串对齐的Java实现
  8. java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)
  9. K均值聚类关于初始聚类中心的探讨(matlab程序)
  10. 《操作系统》——第一章 计算机系统概述
  11. zabbix 添加jvm监控
  12. 自绘LISTVIEW的滚动条(Delphi实现)
  13. 最强半自动化抓鸡工具打造思路
  14. SpringBoot搭建个人博客v1.0 - 博客管理功能实现(七)
  15. 计算机中分页符号是什么,分节符和分页符有什么区别?
  16. 【猿说VUE】Vue过滤器使用介绍(劳动节致敬)
  17. 考计算机基础a的ap考试,用AP考试,敲开计算机名校大门!
  18. 区块链开发者观点: 来自 EOS 三国的 Jimmy Gong
  19. 高级语言及其语法描述
  20. KMP算法求循环节,为什么能求循环节

热门文章

  1. vscode 格式化某一段代码_vscode 如何自动格式化代码?
  2. Mac vscode花屏问题解决
  3. Redis内存相关知识
  4. 设计模式之——抽象工厂模式
  5. android 百度定位 sdk 3.3demo,BaiduMapApi_Sample_Android_1.3.3\demo无法启动
  6. Hibernate的双向1-N关联(五)
  7. 【渝粤教育】21秋期末考试基础会计10258k2
  8. 【渝粤教育】电大中专建筑施工组织 (2)作业 题库
  9. SuperPoint学习(一)
  10. 看不懂JDK8的流操作?5分钟带你入门(转)