记录编号 253369 评测结果 AAAAAAAAAA
题目名称 乘法问题 最终得分 100
用户昵称 Gravatardateri 是否通过 通过
代码语言 C++ 运行时间 0.016 s
提交时间 2016-04-21 23:10:24 内存使用 0.29 MiB
显示代码纯文本
#include<stdio.h>
#include<string.h>
int main()
{
	freopen("chf.in","r",stdin);
	freopen("chf.out","w",stdout);
	int n,i,j,k,l;
	char r[100]={0};
    scanf("%d%d",&n,&k);
    unsigned long long s[100][100]={0},f[100][100]={0},m;
    scanf("%s",r+1);
    l=strlen(r+1);
    for(i=n;i>=1;i--)
		s[i][i]=r[i]-'0';
	for(i=1;i<=n;i++)
	  for(j=i+1;j<=n;j++)
		s[i][j]=s[i][j-1]*10+s[j][j];
	for(i=1;i<=n;i++)
	  f[0][i]=s[1][i];
	for(i=1;i<=k;i++)
	  for(j=1;j<n;j++)
	    for(l=j+1;l<=n;l++)
	      if(f[i][l]<f[i-1][j]*s[j+1][l])
	        f[i][l]=f[i-1][j]*s[j+1][l];
	printf("%llu\n",f[k][n]);
    return 0;
}