poj1035 Spell checker
来源:互联网 发布:java 字符编码转换 编辑:程序博客网 时间:2024/05/01 10:31
题意:有本自定义的字典,有一些单词。查询,某个单词是否在字典中存在,如果存在,则输出“is correct”;否则,存在三种可能情况:
1。替换其中一个字母,使其在字典中存在;
2。删除其中一个字母,使其在字典中存在;
3。添加某一个字母,使其在字典中存在;
先说一句,这是我两个多月来,第一次A的一个题。至于为什么会这样,这两个多月来发生的事情我就不提了。这是一个新的开端,fighting。(其实想想自己两个多月没敲代码,我连自己都不敢相信,55555555~。他妈的,怎么这么矫情)
吐槽一下这个题,算法根本没问题,代码写的也没问题。测了很多测试数据,但一开始就是过不了。后来把单词的输出放在了replace函数中(一开始是返回字母的指针),结果就对了。搞不懂,可能有的地方没搞好。也是折腾了好久,但还是没放弃啊。嗯嗯,一开始想放弃,但最终还是A了。所以说,不要轻易放弃。额,啰嗦了,希望没人看到。不过,这也算是我新的开始,要好好搞了。
#include<iostream>#include<cstring>#define MAX 10100#define N 55using namespace std;struct word{ char s[16]; int len;};word dicy[MAX];word chek[N];int d_num,c_num;bool is_correct(char *p){for(int j=0;j<d_num;j++)if(strcmp(dicy[j].s,p)==0)return true;return false;}void replace(word chek,word dicy){int count;if(chek.len==dicy.len){ count=0; for(int i=0;i<chek.len;i++) if(chek.s[i]!=dicy.s[i]) count++;if(count==1)cout<<" "<<dicy.s;}if(chek.len+1==dicy.len){int j=0;count=0; for(int i=0;i<dicy.len;i++) if(chek.s[j]!=dicy.s[i]) count++; else j++; if(count==1)cout<<" "<<dicy.s;}if(chek.len-1==dicy.len){ int k=0; count=0; for(int i=0;i<chek.len;i++) if(chek.s[i]!=dicy.s[k]) count++;else k++; if(count==1)cout<<" "<<dicy.s;}}int main(){char s[20];int i,len;i=0;while(cin>>s){ if(s[0]=='#') break; strcpy(dicy[i].s,s); len=strlen(s); dicy[i].len=len; i++;}d_num=i;i=0;while(cin>>s){ if(s[0]=='#') break; strcpy(chek[i].s,s); len=strlen(s); chek[i].len=len; i++;}c_num=i;for(i=0;i<c_num;i++){if(is_correct(chek[i].s))cout<<chek[i].s<<" is correct"<<endl;else{cout<<chek[i].s<<":";for(int j=0;j<d_num;j++)replace(chek[i],dicy[j]); cout<<endl; }} return 0;}
0 0
- poj1035 Spell checker
- Spell checker poj1035
- POJ1035--Spell checker--Tire
- poj1035 Spell checker
- POJ1035 Spell checker
- poj1035 Spell Checker
- POJ1035 Spell checker
- poj1035--Spell checker
- poj1035 Spell checker
- poj1035 Spell checker
- poj1035 Spell checker
- [POJ1035]-Spell checker
- POJ1035-Spell checker
- poj1035 Spell checker
- ACM-POJ1035 Spell checker [MyAnswer]
- POJ1035《Spell checker》方法:模拟
- POJ1035-Spell checker(java版)
- POJ1035——spell checker
- 网站结构类型有哪些
- Leetcode: Combination Sum
- Import 和Extern的区别
- 网站结构规划
- (转)eclipse智能提示,太有用了,忍不住转了
- poj1035 Spell checker
- jQuery 遍历 - find() 方法
- UVA111 History Grading 简单的DP
- tomcat 7 和 tomcat 6部署war时遇到的问题
- 命令模式 -- 请求发送者与接收者解耦
- 达梦(6)联机备份恢复
- The MathType DLL cannot be found.Please reinstall MathType
- 模板方法模式
- 约瑟夫环