50pts 求助
查看原帖
50pts 求助
359864
cxakoi楼主2020/8/25 15:57
#include<bits/stdc++.h>
using namespace std;
char s[41];
long long f[41][41],n,k;
long long sum(int l,int r) {
	int ans=0;
	for(int i=l; i<=r; i++) {
		int tmp=(int)s[i]-48;
		ans=ans*10+tmp;
		//cout<<ans<<" ";
	}
	return ans;
}
int main() {
	cin>>n>>k>>(s+1);
	//cin>>str(s+1);
	//for(int i=1;i<=n;i++)cin>>s[i];
	for(int i=1; i<=n; i++) {
		f[0][i]=sum(1,i);
		//cout<<f[0][i]<<endl;
	}
	for(int i=1; i<=k; i++) {
		for(int j=1; j<=n; j++) {
			for(int h=j; h>=i; h--) {
				f[i][j]=max(f[i][j],f[i-1][h-1]*sum(h,j));
			}
		}
	}
	//cout<<sum(1,3); 
	//cout<<f[2][2]<<endl;
	cout<<f[k][n];
	return 0;
}
2020/8/25 15:57
加载中...