草稿涂满荒唐画,摸鱼容易上课难 • 4个月前
#include<bits/stdc++.h>
using namespace std;
int n;
int a[205];
int dp[205][205];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
if(x%2==1)a[i]=a[n+i]=1;
}
for(int len=1;len<=n-1;len++){
for(int l=1;l+len-1<=2*n;l++){
int r=l+len-1;
dp[l][r]=max(a[l]-dp[l+1][r],a[r]-dp[l][r-1]);
}
}
int ans=0;
for(int i=1;i<=n;i++)if(a[i]-dp[i+1][i+n-1]>0) ans++;
cout<<ans<<endl;
return 0;
}
评论:
请先登录,才能进行评论