蒟蒻刚学OIc++代码求调悬两关
查看原帖
蒟蒻刚学OIc++代码求调悬两关
1007661
liyunxi0629楼主2024/3/16 13:56
#include<bits/stdc++.h>
using namespace std;
const int N=5005;
int x,c[N],a[N],n=0,dp[N][N];
int main(){
	cin>>x;
	for(int i=1;i<=x;i++){
		cin>>c[i];
		if(c[i]!=c[i-1]){
			a[++n]=c[i];
		}
	}
	
	for(int len=1;len<=n;len++){
		for(int i=1;i+len-1<=n;i++){
			int j=i+len-1;
			if(a[i]==a[j]){
				dp[i][j]=min(dp[i][j],dp[i+1][j-1]+1);
			}else{
				dp[i][j]=min(dp[i][j-1]+1,dp[i+1][j]+1);
			}
		}
	}
	cout<<dp[1][n];
	return 0;
}
2024/3/16 13:56
加载中...