[POJ1035]Spell checker
题目大意:输入一个字典,再输入一些单词,如果单词在字典里有的则输出“*** 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相关推荐
- POJ-1035 Spell checker 暴力
直接暴力. 代码如下: #include <cstring> #include <cstdio> #include <cstdlib> #include <m ...
- 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 ...
- 论文阅读-FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based
来源:爱奇艺 EMNLP2019 Workshop 论文:https://aclanthology.org/D19-5522.pdf 代码:GitHub - iqiyi/FASPell: 2019-S ...
- vscode php代码检测,VSCODE代码拼写检查插件Code Spell Checker
Code Spell Checker是一款VSCODE代码拼写检查插件,可以为开发者报告一些常见的拼写错误.这个拼写检查程序的目标是帮助捕获常见的拼写错误,同时保持低误报的数量.它很适合驼峰式代码. ...
- POJ 1035, Spell checker
brutal force 1. 生成字典, 并按长度排序. 2. 对于给定单词, 取得区间 [单词长度 - 1, 单词长度 + 1], 并匹配. 3. 如果存在完全匹配的单词, 打印输出, 否则把可能 ...
- poj 1035 Spell checker(hash)
题目链接:http://poj.org/problem?id=1035 思路分析: 1.使用哈希表存储字典 2.对待查找的word在字典中查找,查找成功输出查找成功信息 3.若查找不成功,对word增 ...
- POJ 2341 Spell checker 笔记
找出句首单词首字母小写和大写字母不是单词的第一个字母的错误.
- 【论文阅读】ReaLiSe:Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking
文章目录 本篇论文所需基础 论文内容 摘要(Abstract) 1. 介绍(Introduction)(略) 2. 相关工作 3. 模型部分(The REALISE Model) 3.1 语义编码器( ...
- POJ的题目分类(两个版本)
版本一: 简单题 1000A+B Problem 1001Exponentiation 1003 Hangover 1004 Financial Management 1005 I Think I N ...
- 字符串编辑距离(Edit Distance)
一.问题描述 定义 字符串编辑距离(Edit Distance),是俄罗斯科学家 Vladimir Levenshtein 在 1965 年提出的概念,又称 Levenshtein 距离,是指两个字符 ...
最新文章
- 【每日DP】day7P1064 金明的预算方案 (分组背包,我又悟了)难度⭐⭐★
- Jenkins Pipeline构建流水线发布
- html button 隐藏_java servlet与html数据交互初体验
- python什么时候用类_python中什么时候使用自定义类
- 品优购dubbox文档bug连环计,还是自己敲最实在!!!!!!
- TeamCola - 最好用的团队工作日志软件
- 最佳字符串对齐的Java实现
- java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)
- K均值聚类关于初始聚类中心的探讨(matlab程序)
- 《操作系统》——第一章 计算机系统概述
- zabbix 添加jvm监控
- 自绘LISTVIEW的滚动条(Delphi实现)
- 最强半自动化抓鸡工具打造思路
- SpringBoot搭建个人博客v1.0 - 博客管理功能实现(七)
- 计算机中分页符号是什么,分节符和分页符有什么区别?
- 【猿说VUE】Vue过滤器使用介绍(劳动节致敬)
- 考计算机基础a的ap考试,用AP考试,敲开计算机名校大门!
- 区块链开发者观点: 来自 EOS 三国的 Jimmy Gong
- 高级语言及其语法描述
- KMP算法求循环节,为什么能求循环节
热门文章
- vscode 格式化某一段代码_vscode 如何自动格式化代码?
- Mac vscode花屏问题解决
- Redis内存相关知识
- 设计模式之——抽象工厂模式
- android 百度定位 sdk 3.3demo,BaiduMapApi_Sample_Android_1.3.3\demo无法启动
- Hibernate的双向1-N关联(五)
- 【渝粤教育】21秋期末考试基础会计10258k2
- 【渝粤教育】电大中专建筑施工组织 (2)作业 题库
- SuperPoint学习(一)
- 看不懂JDK8的流操作?5分钟带你入门(转)