AC

草稿涂满荒唐画,摸鱼容易上课难  •  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;
}


评论:

请先登录,才能进行评论