20分求助
查看原帖
20分求助
746229
Joker_lazydoghead楼主2022/9/17 17:39
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
using namespace std;
char s[20];
int dp[20][20];
int data[20][20];
int main()
{
	int M, N;
	cin>>N>>M;
	cin>>s; 
	memset(dp,0,sizeof(dp));
	for(int i=0;i<N;i++)
	{
		int sum=0;
		for(int j=i;j<N;j++)
		{
			sum=sum*10+s[j]-'0';
			data[i][j]=sum;
		}
	}
	for(int i=0;i<N;i++)
	{
		dp[i][0]=data[0][i];
	}
	for(int i=0;i<N;i++)
	{
		for(int j=1;j<=M;j++)
		{
			for(int k=0;k<i;k++)
			{
				dp[i][j]=max(dp[k][j-1]*data[k+1][i], dp[i][j]);
			}
		}
	}
	cout<<dp[N-1][M];
}
2022/9/17 17:39
加载中...