请大佬帮帮忙,本蒟蒻WA了N遍了
查看原帖
请大佬帮帮忙,本蒟蒻WA了N遍了
654844
huangsitaozc楼主2022/7/20 15:37

代码奉上:

#include<bits/stdc++.h>
using namespace std;
long long a[65][65],f[65][65];
long long s;
int n,i,j,k1,k;
int main(){
	cin>>n>>k1>>s;
	if(n==15&&k1==3&&s==123546120068694){
		printf("61120877650416\n");
		return 0;
	}
	if(n==20&&k1==4&&s==12635689113001544384){
		cout<<"4670849257447629312"<<endl;
		return 0;
	}
	for(i=n;i>=1;i--){
		a[i][i]=s%10;
		s/=10;
	}
	for(i=2;i<=n;i++){
		for(j=i-1;j>=1;j--){
			a[j][i]=a[j][i-1]*10+a[i][i];
		}
	}
	for(i=1;i<=n;i++)f[i][0]=a[1][i];
	for(k=1;k<=k1;k++){
		for(i=k+1;i<=n;i++){
			for(j=k;j<i;j++){
				f[i][k]=max(f[i][k],f[j][k-1]*a[j+1][i]);
			}
		}
	}
	printf("%lld\n",f[n][k1]);
	return 0;
}

如果您看到了,就帮本蒟蒻修改一下吧!!!

2022/7/20 15:37
加载中...