poj 1580 String Matching
2012-06-07 01:43
260 查看
//注意:要读懂题意:不是随便地从两个字符串中找出相同的字符就可以,而是在字符串进行逐个逐个比较的过程中找出! #include <iostream> #include <string> #include <algorithm> using namespace std; int gcd(int a, int b) { while (b%a) { int t = a; a = b % a; b = t; } return a; } int main() { int i, j, k, len1, len2, common, slen, max; string str1, str2, tmp; while (cin >> str1) { if (str1 == "-1") break; common = 0; cin >> str2; tmp = str2; len1 = str1.length(); len2 = str2.length(); for (i = 0; i < len1; ++ i) { for (j = 0; j < len2; ++ j) { max = 0; for (int i1 = i, j1 = j; i1 < len1 && j1 < len2; ++ i1, ++ j1) if (str1[i1] == str2[j1]) ++ max; if (common < max) common = max; } } slen = len1 + len2; if (common == 0) cout << "appx(" << str1 << "," << tmp << ") = " << 0 << endl; else { int num = gcd(common*2, slen); if (slen == common*2) cout << "appx(" << str1 << "," << tmp << ") = " << 1 << endl; else cout << "appx(" << str1 << "," << tmp << ") = " << common*2/num << "/" << slen/num << endl; } } system("pause"); } /* CAR CART TURKEY CHICKEN MONEY POVERTY ROUGH PESKY A A MEET EAT HAPPY PLAY -1 */
相关文章推荐
- POJ 1580 String Matching G++
- POJ 2406 - Power String
- string-10.Regular Expression Matching
- NYOJ - Binary String Matching
- poj 1035 string 的匹配
- Binary String Matching
- POJ 2406 Power String 最短循环子串 - KMP
- Binary String Matching
- Binary String Matching
- Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource] for property 'dataSource': no matching e
- 【求助】 no matching function for call to `strcpy(std::string&, char*&)'
- poj 3336 Count the string
- poj 1580 String Matching(比较字符串的相似程度,四个for循环即可)
- NYOJ 5Binary String Matching(带题目大意)
- NYoj 5 Binary String Matching
- 南阳理工oj-5 Binary String Matching
- 南阳理工oj题目练习---Binary String Matching
- 南阳理工ACM-题目5-Binary String Matching
- acm每日一练之Binary String Matching
- Binary String Matching