样例过了,没分(求助)
查看原帖
样例过了,没分(求助)
1512108
QirErl楼主2024/12/10 18:51
#include<bits/stdc++.h>
using namespace std;
int n;
int a[100005],b[100005];
int dp[20005][20005];
int maxc = 0;
int main(){
	cin >> n;
	for(int i = 1;i <= n;i++){
		cin >> a[i] >> b[i];
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(a[i] == b[j]){
				dp[i][j] = 1;
				for(int k = 1;k < i;k++){
					for(int l = 1;l < j;l++){
						if(a[i - k] == b[j - l]) dp[i][j] = max(dp[i - k][j - l],dp[i][j]);
					}
				}
				dp[i][j]++;
				maxc = max(maxc,dp[i][j]);
			}
		}
	}
	cout<<maxc;
	return 0;
}
2024/12/10 18:51
加载中...