北大oj百练-1458:Common|北大oj百练-1458:Common Subsequence

#include #include using namespace std; char sz1[1000],sz2[1000]; int maxLen[1000][1000]; int max(int a,int b) { if(a>b) return a; else return b; } int main() { while(cin >> sz1 >>sz2) { int l1=strlen(sz1); int l2=strlen(sz2); for(int i=0; i<=l1; i++) { maxLen[i][0]=0; } for(int i=0; i<=l2; i++) { maxLen[0][i]=0; } for(int i=1; i<=l1; i++) { for(int j=1; j<=l2; j++) { if(sz1[i-1]==sz2[j-1]) { maxLen[i][j]=maxLen[i-1][j-1]+1; } else maxLen[i][j]=max(maxLen[i][j-1],maxLen[i-1][j]); } } cout << maxLen[l1][l2] <

    推荐阅读