20分求助
查看原帖
20分求助
684362
NFLS_YBR楼主2022/7/3 15:22
#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n;
    cin>>n;
    int a[n+1];
    int b[n+1];
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++)
		cin>>b[i];
    int f[n+1][n+1];
    for(int i=1;i<=n;i++)
    	for(int j=1;j<=n;j++) 
            f[i][j]=1;
	for(int i=1;i<=n;i++)
    {
		for(int j=1;j<=n;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][n];
	return 0; 
}
2022/7/3 15:22
加载中...