讨论 / C++的16行AC代码
WuK 2015-08-15 21:47:41
点我顶贴 收藏 删除
#include<iostream>

using namespace std;

unsigned long long n,k,f[40][40][32]={0};

string s;

unsigned long long work(int l,int r,int k)

{

if(f[l][r][k])return f[l][r][k];

if(k)for(int i=l+k/2;i<=r-k/2;i++)f[l][r][k]=max(f[l][r][k],work(l,i,k/2)*work(i+1,r,k-k/2-1));

else for(int i=l;i<=r;i++)f[l][r][k]=f[l][r][k]*10+s[i]-'0';

return f[l][r][k];

}

int main()

{

cin>>n>>k>>s;

cout<<work(0,n-1,k);

}

#1 Tian_zong@2015-12-14 21:45:21
回复 删除
敢问大神第一个for循环为何这么写?
查看更多回复
提交回复