poj 字符串相关的水题
2017-06-26 13:09
381 查看
1035 Spell checker
Accepted 456K 375MS
Accepted 456K 375MS
#include<iostream> #include<string> #include<cstdio> #include<cstring> //#include<math.h> #include<algorithm> #include<vector> #include<map> #define MAXNUM 10010 using namespace std; int ans, h, w, W[45][15], link[405]; string dic[MAXNUM]; vector<int>result; bool add(string s1,string s2) { int i, j; bool flag; flag = 0; i = j = 0; while (i < s1.length()) { if (!flag) { if (s1[i] != s2[j]) { j++; flag = 1; } else { i++; j++; } } else { if (s1[i] != s2[j]) { return false; } else { i++; j++; } } } return true; } bool del(string s1, string s2) { int i, j; bool flag; flag = 0; i = j = 0; while (i < s1.length()) { if (!flag) { if (s1[i] != s2[j]) { i++; flag = 1; } else { i++; j++; } } else { if (s1[i] != s2[j]) return false; else { i++; j++; } } } return true; } int cmp(string s1, string s2) { int i, count; count = 0; for (i = 0; i < s1.length();i++) if (s1[i] != s2[i]) count++; return count; } int main(void) { //freopen("1.txt", "r", stdin); int i, j, t,tmp; bool flag; string str; t = 0; while (cin >> dic[t] && dic[t] != "#") t++; while (cin >> str&&str != "#") { result.clear(); flag = 0; for (i = 0; i < t; i++) { tmp = str.length() - dic[i].length(); if (tmp>1 || tmp < -1) continue; else if (str.length() == dic[i].length() + 1) { if (del(str, dic[i])) result.push_back(i); } else if (str.length() == dic[i].length() - 1) { if (add(str, dic[i])) result.push_back(i); } else if (str.length() == dic[i].length()) { tmp = cmp(str, dic[i]); if (!tmp) { flag = 1; break; } else if (tmp == 1) result.push_back(i); } } if (flag) cout << str << " is correct" << endl; else { cout << str << ":" ; for (i = 0; i < result.size(); i++) cout << " " << dic[result[i]]; cout << endl; } } }
相关文章推荐
- POJ 1936 All in All 字符串 水题
- poj 1488 TEX Quotes(字符串水题)
- poj 1148 TEX Quotes 【水题(字符串替换)】【周赛】
- POJ 1002 487-3279 水题字符串
- POJ 字符串的全排列 水题也搞我 多种方法 DFS,STL,直接模拟。。。。。。
- POJ 1350 Cabric Number Problem(我的水题之路——字符串和数字间的转换)
- POJ 1580 String Matching(我的水题之路——字符串公共子串的比较雏形)
- poj 字符串相关之1002 487-3279
- poj 1951 Extra Krunch 字符串处理水题
- poj1936~~字符串水题
- poj 字符串相关之3038
- poj 字符串相关之1204 Word Puzzles
- hdu 1063 poj 1001 字符串处理 数学相关
- POJ 3080 (字符串水题) Blue Jeans
- POJ 3753 根据关键字进行字符串拷贝(水题)
- poj 字符串相关之1200 Crazy Search
- poj 1750 Dictionary(水题:字符串)
- poj 字符串相关之2513 Colored Sticks
- POJ-1013-Counterfeit Dollar -暴力水题
- POJ1565 水题