草稿涂满荒唐画,摸鱼容易上课难 • 4个月前
#include<bits/stdc++.h>
using namespace std;
int n;
int dwwecweqqqq[105];
char dwweewefkk[105];
int woshilzhh[105][105];
int wobushilzhh[105][105];
int main(){
cin>>n;
memset(woshilzhh,0xf0,sizeof woshilzhh);
memset(wobushilzhh,0x3f,sizeof wobushilzhh);
for(int i=1;i<=n;i++){
cin>>dwweewefkk[i]>>dwwecweqqqq[i];
dwweewefkk[n+i]=dwweewefkk[i];
dwwecweqqqq[n+i]=dwwecweqqqq[i];
woshilzhh[i][i]=wobushilzhh[i][i]=woshilzhh[n+i][n+i]=wobushilzhh[n+i][n+i]=dwwecweqqqq[i];
}
for(int len=2;len<=n;len++){
for(int l=1;l+len-1<=2*n;l++){
int r=l+len-1;
for(int mid=l+1;mid<=r;mid++){
if(dwweewefkk[mid]=='t'){
woshilzhh[l][r]=max(woshilzhh[l][r],woshilzhh[l][mid-1]+woshilzhh[mid][r]);
wobushilzhh[l][r]=min(wobushilzhh[l][r],wobushilzhh[l][mid-1]+wobushilzhh[mid][r]);
}else if(dwweewefkk[mid]=='x'){
woshilzhh[l][r]=max(woshilzhh[l][r],wobushilzhh[l][mid-1]*wobushilzhh[mid][r]);
woshilzhh[l][r]=max(woshilzhh[l][r],wobushilzhh[l][mid-1]*woshilzhh[mid][r]);
woshilzhh[l][r]=max(woshilzhh[l][r],woshilzhh[l][mid-1]*wobushilzhh[mid][r]);
woshilzhh[l][r]=max(woshilzhh[l][r],woshilzhh[l][mid-1]*woshilzhh[mid][r]);
wobushilzhh[l][r]=min(wobushilzhh[l][r],wobushilzhh[l][mid-1]*wobushilzhh[mid][r]);
wobushilzhh[l][r]=min(wobushilzhh[l][r],wobushilzhh[l][mid-1]*woshilzhh[mid][r]);
wobushilzhh[l][r]=min(wobushilzhh[l][r],woshilzhh[l][mid-1]*wobushilzhh[mid][r]);
wobushilzhh[l][r]=min(wobushilzhh[l][r],woshilzhh[l][mid-1]*woshilzhh[mid][r]);
}
}
}
}
int adqwddwq=-1e9;
for(int i=1;i<=n;i++)
adqwddwq=max(adqwddwq,woshilzhh[i][i+n-1]);
cout<<adqwddwq<<endl;
for(int i=1;i<=n;i++)
if(adqwddwq==woshilzhh[i][i+n-1])
cout<<i<<' ';
return 0;
}
评论:
请先登录,才能进行评论