蓝桥杯 算法训练—— 最大乘积问题
来源:互联网 发布:suse 软件源 编辑:程序博客网 时间:2024/05/29 00:29
#include<iostream>
using namespace std;
long long dp[50][50];
long num[50];
int N,K;
int Cj(int m,int n)
{
int result=0;
for(int i=m;i<=n;i++)
result=result*10+num[i];
return result;
}
void Solve()
{
for(int i=1;i<=N;i++)
dp[i][0]=Cj(1,i);
for(int i=2;i<=N;i++)
{
for(int j=1;j<=K && j<i;j++)
{
for(int k=1;k<i;k++)
dp[i][j]=max(dp[i][j],dp[k][j-1]*Cj(k+1,i));
}
}
cout<<dp[N][K];
}
int main()
{
long long Num,i=0;
cin>>N>>K;
cin>>Num;
while(Num>0)
{
num[N-i]=Num%10;
Num/=10;
i++;
}
Solve();
return 0;
}
using namespace std;
long long dp[50][50];
long num[50];
int N,K;
int Cj(int m,int n)
{
int result=0;
for(int i=m;i<=n;i++)
result=result*10+num[i];
return result;
}
void Solve()
{
for(int i=1;i<=N;i++)
dp[i][0]=Cj(1,i);
for(int i=2;i<=N;i++)
{
for(int j=1;j<=K && j<i;j++)
{
for(int k=1;k<i;k++)
dp[i][j]=max(dp[i][j],dp[k][j-1]*Cj(k+1,i));
}
}
cout<<dp[N][K];
}
int main()
{
long long Num,i=0;
cin>>N>>K;
cin>>Num;
while(Num>0)
{
num[N-i]=Num%10;
Num/=10;
i++;
}
Solve();
return 0;
}
阅读全文
1 1
- 蓝桥杯 算法训练—— 最大乘积问题
- 蓝桥杯——算法训练之乘积最大
- 蓝桥杯算法训练 乘积最大
- 蓝桥杯 算法训练 乘积最大
- 蓝桥杯 算法训练 乘积最大 dp
- 蓝桥杯算法提高——最大乘积
- 蓝桥杯 算法训练 乘积最大 By Assassin [dp水题]
- 蓝桥杯 算法训练 乘积最大(动态规划)
- 一道算法题——乘积最大问题
- 蓝桥杯练习系统算法训练——质数的乘积
- 蓝桥杯练习系统算法训练——最小乘积
- 蓝桥杯算法训练——最小乘积(基本型)
- 蓝桥杯ALGO-104——算法训练 阿尔法乘积
- 算法 最大k乘积问题
- 蓝桥杯 算法训练 阿尔法乘积
- 蓝桥杯 算法训练 阿尔法乘积
- 2016蓝桥杯算法提高——最大乘积
- 蓝桥杯练习系统算法提高—最大乘积
- 老司机教你快速安装DHCP服务器
- 【JAVA 提高班之一】集合大家族
- C++中的多态和多态对象模型
- 报错修改:Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web
- 二进制枚举的实现
- 蓝桥杯 算法训练—— 最大乘积问题
- 一种新的单片机调试方法
- aop源码解析四-代理方法的调用
- 《Drools7.0.0.Final规则引擎教程》第4章 4.3 日历
- Java Heap
- hihocoder1181(fleury)
- aop源码解析辅助-jdk动态代理
- 处理大并发之五 使用libevent利器bufferevent
- python_反射