最长公共子序列(POJ1458)

给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到,而且每个字符的先后顺序和原串中的先后顺序一致。


Sample Input:

abcfbc abfcab
programming contest
abcd mnp

Sample Output:
4
2
0


 #include<iostream>
 #include<algorithm>
 using namespace std;
 ];
 ];
 ][];
 int main(void)
 {
     while (cin >> s1 >> s2)
     {
         int length1 = strlen(s1);
         int length2 = strlen(s2);
         int i, j;
         ; i <= length1 ; ++i)
             maxlen[i][] = ;
         ; i <= length2 ; ++i)
             maxlen[][i] = ;
         ; i <= length1 ; ++i)
         {
             ; j <= length2 ; ++j)
             {
                 ] == s2[j - ])
                 {
                     maxlen[i][j] = maxlen[i - ][j - ] + ;
                 }
                 else
                 {
                     maxlen[i][j] = max(maxlen[i - ][j], maxlen[i][j - ]);
                 }
             }
         }
         cout << maxlen[length1][length2]<<endl;
     }
     ;
 }
上一篇:Educational Codeforces Round 52F(树形DP,VECTOR)


下一篇:自律训练法 John Sehorz