题目描述
这或许就是我应该学到的思路,任何事情不是准备好才去做的,同样,程序不是你数值准备充分了才去编的.
而是你一边学习一边进步
样例
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 1010;
char a[N],b[N];
int f[N][N];
int n,m;
//四种状态:00 , 01 , 10 , 11;
//从左到右分别对应的函数表示:f[i-1][j-1], f[i-1][j], f[i][j-1], f[i-1][j-1] + 1;
int main()
{
cin >> n >> m >> a+1 >> b+1;
for(int i = 1 ;i <= n ; i++)
for(int j = 1 ;j <= m ; j ++)
{
f[i][j] = max(f[i-1][j] , f[i][j-1]);
if(a[i] == b[j]) f[i][j] = max(f[i][j] , f[i-1][j-1] + 1);
}
cout << f[n][m] << endl;
return 0;
}
一边写一边把程序补充