50pts 求条
查看原帖
50pts 求条
1234604
rainbow_MMM楼主2025/1/15 12:43
#include<bits/stdc++.h>
using namespace std;
int dp[10005][10005]; 
int a[10005],b[10005];
int main(){
	int n;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i]==b[j]){
				dp[i][j]=dp[i-1][j-1]+1;
			}
			else{
				dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
			}
		}
	}
	cout<<dp[n][n];
	return 0;
}
2025/1/15 12:43
加载中...