记录编号 34343 评测结果 AAAAAAAAAA
题目名称 乘法问题 最终得分 100
用户昵称 GravatarQhelDIV 是否通过 通过
代码语言 C++ 运行时间 0.005 s
提交时间 2011-12-11 10:11:59 内存使用 0.32 MiB
显示代码纯文本
#include <fstream>
#include <string>
using namespace std;
ifstream fin("chf.in");
ofstream fout("chf.out");

int n,K;
long long Number,f[41][31],Max;
string S,cc;
long long figure(int St,int En)
{
int i;
long long re=S[St]-'0';
	for(i=St+1;i<=En;i++)
		re=re*10+S[i]-'0';
	return re;
}

int main()
{
	fin>>n>>K;
	int End,i,j,k;
	fin>>cc;
	S+=" "+cc;
	f[1][0]=figure(1,1);
	for(i=2;i<=n;i++)
	{
		f[i][0]=figure(1,i);
		End=(i-1>K?K:i-1);
		for(j=1;j<=End;j++)
		{
			Max=f[i-1][j];
			for(k=1;k<i;k++)
			{
				Number=figure(k+1,i)*f[k][j-1];
				if(Number>Max)
					Max=Number;
			}
			f[i][j]=Max;
		}
	}
	fout<<f[n][K]<<endl;
	fin.close();
	fout.close();
	return 0;
}