POJ 1035 Spell checker 查找单词
来源:互联网 发布:网络借贷是什么意思 编辑:程序博客网 时间:2024/05/17 03:49
题意:给一些单词,然后一些询问,如果能找到原单词,输出correct,否则有下面三种情况:
1.长度相同.
2.带检测字长度比字典里的字少1
3.带检测字长度比字典里的字多1
检查是否只有一个字母不同,输出所以满足相似的单词。
#include<iostream>#include<algorithm>#include<queue>#include<vector>#include<string>#include<cstring>#include<cstdio>const int maxn=100005;const int INF=0x3f3f3f3f;typedef long long LL;using namespace std;string a[maxn];int n=0;void find(string s){//找原单词 for(int i=0;i<n;i++){if(a[i]==s) {cout<<s<<" is correct";return ;}}//检查长度相同或多1或少1的情况 cout<<s<<": ";for(int i=0;i<n;i++){int len=a[i].length();if(len==s.length()){int t=0;for(int j=0;j<len;j++){if(a[i][j]==s[j]) t++;}if(t==len-1) cout<<a[i]<<" ";}else if(len==s.length()-1){int t=0,p=0;for(int j=0;j<s.length();j++){if(s[j]==a[i][p]){t++;p++;}}if(t==len) cout<<a[i]<<" ";}else if(len==s.length()+1){int t=0,p=0;for(int j=0;j<len;j++){if(a[i][j]==s[p]){t++;p++;}}if(t==s.length()) cout<<a[i]<<" ";}}}int main(){//freopen("E:\\ACM\\test.txt","r",stdin);string s;while(cin>>s,s!="#"){a[n++]=s;}while(cin>>s,s!="#"){find(s);puts("");}return 0;}
阅读全文
1 0
- POJ 1035 Spell checker 查找单词
- POJ 1035 Spell checker 【字符串暴力查找】
- [ACM] POJ 1035 Spell checker (单词查找,删除替换增加任何一个字母)
- [ACM] POJ 1035 Spell checker (单词查找,删除替换增加任何一个字母)
- poj-1035-Spell checker
- poj 1035 Spell checker
- Poj 1035 --Spell checker
- Spell checker--POJ 1035
- poj 1035 Spell checker
- poj 1035 Spell checker
- POJ-1035-Spell checker
- poj 1035 Spell Checker
- POJ 1035 Spell checker
- poj 1035 Spell checker
- poj 1035 Spell checker
- poj 1035 Spell checker
- POJ 1035 Spell checker
- POJ 1035 Spell checker
- JavaScript HTML DOM详解
- 树莓派 安装QT5
- void的用法
- 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(java)
- Effective C++ 在资源管理类中提供对原始资源的访问
- POJ 1035 Spell checker 查找单词
- 网络编程-网路七层协议图(2)之每一层对应的设备及功能(物理层、数据链路层、网络层、传输层、应用层...)
- (小工具)Java反射机制实现任意对象集合按指定任意字段进行分组通用程序实践
- 我们RN的路由导航Navigator使用攻略
- Matlab非线性方程求解
- 互联网大数据框架介绍(二)Hive,HBase
- Codeforces 327A Flipping Game(区间DP,暴力枚举)
- HashMap的工作原理
- 素数筛法(素筛)