求赞!
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1010;
string a,b;
ll n,m,dp[2][N],ans;
int main () {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>a>>b;
for(ll i=1; i<=n; i++)
for(ll j=1; j<=m; j++) {
if(a[i-1]==b[j-1]) dp[i%2][j]=dp[(i-1)%2][j-1]+1;
else dp[i%2][j]=max(dp[(i-1)%2][j],dp[i%2][j-1]);
ans=max(ans,dp[i%2][j]);
}
cout<<ans;
return 0;
}