Time Limit: 2000/1000 MS
(Java/Others) Memory Limit: 65536/32768 K
(Java/Others)
Total Submission(s): 20061 Accepted
Submission(s): 8571
#include<iostream> #include<algorithm> #include<string> #define MAX 1000 using namespace std; int a[MAX][MAX]; int main() { string s1, s2; while (cin >> s1 >> s2){ memset(a, 0, sizeof(a)); for (int i = 0; i <s1.length();i++){ for (int j = 0; j < s2.length();j++){ if (s1[i] == s2[j]){ a[i + 1][j + 1] = a[i][j] + 1; } else{ a[i + 1][j + 1] = max(a[i][j + 1], a[i + 1][j]); } } } cout << a[s1.length()][s2.length()] << endl; } //system("pause"); return 0; }
原文:http://www.cnblogs.com/littlehoom/p/3550814.html