求兩字符串的最長公共子序列
#include <bits/stdc++.h>
using namespace std;
int dp[100][100];
int main()
{
string a, b;
cin >> a >> b;
for (int i = 0; i < a.length(); ++i){
for (int j = 0; j < b.length(); ++j){
if (a[i] == b[j])dp[i + 1][j + 1] = dp[i][j] + 1;
else dp[i +1][j + 1] = max(dp[i + 1][j], dp[i][j + 1]);
}
}
cout <<dp[a.length()][b.length()] << endl;
return 0;
}