求调
查看原帖
求调
1270462
linwanbo楼主2025/1/22 22:10
#include<bits/stdc++.h>
using namespace std;
int n,k,s1[41][41],s[41],f[41][41];
string a;
int main(){
	cin>>n>>k>>a;
	for(int i=1;i<=n;i++)s[i]=a[i-1]-'0';//将字符串进行转换 
	for(int i=1;i<=n;i++)
		for(int j=i;j<=n;j++)
			s1[i][j]=s1[i][j-1]*10+s[j];//进行预处理 
	for(int i=1;i<=n;i++)f[i][0]=s1[1][i];//将行转为列 
	//以上都没问题 
	for(int j=1;j<=k;j++)//从这开始,有问题,数组打出来全是0 
		for(int i=1;i<=n;i++)
			for(int p=j;p<=n-1;p++)
				f[i][j]=max(f[i][j],f[p][j-1]*s1[p+1][j]);
	cout<<f[n][k];//不确定是否输出这个位置 
	return 0;
}//谢谢大佬了!!! 

以上为代码,谢谢大佬了!!!

2025/1/22 22:10
加载中...