最长公共子序列 题解
题目在主页,如有出错请指出
include <bits/stdc++.h>
using namespace std;
int f[205][205];
int main()
{
string sa, sb;
getline(cin, sa);
getline(cin, sb);
int la = sa.size();
int lb = sb.size();
sa = ' ' + sa;
sb = ' ' + sb;
for (int i = 1;i <= la;i++)
f[i][0] = 0;
for (int j = 1;j <= lb;j++)
f[0][j] = 0;
for (int i = 1;i <= la;i++)
for (int j = 1;j <= lb;j++)
if (sa[i] == sb[j]) f[i][j] = f[i - 1][j - 1] + 1;
else f[i][j] = max(f[i - 1][j], f[i][j - 1]);
cout << f[la][lb] << endl;
return 0;
}