题解
2023-04-01 17:06:48
发布于:上海
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long a[20][50]={};
long long fun(int x,int len,long long num){
if(a[x][len]){
return a[x][len];
}
if(x==0){
return a[x][len]=num;
}
for(int i=x-1;i<len-1;i++){
long long b=num%(long long)pow(10,len-i-1);
b*=fun(x-1,i+1,(num-b)/pow(10,len-i-1));
a[x][len]=max(a[x][len],b);
}
return a[x][len];
}
int main(){
int n,L;
long long num;
scanf("%d%d%lld",&L,&n,&num);
printf("%lld",fun(n,L,num));
return 0;
}
这里空空如也
有帮助,赞一个