Description

     
  设I是一个 n位十进制整数。如果将I划分为 k段,则可得到k个整数。这k个整数的 乘积称为I的一个 k乘积。试设计一个算法,对于给定的 I和 k,求出 I的最大 k乘积。 对于给定的I和k,计算 I的最大 k乘积。  
     

Input

     
 
第1 行中有2个正整数n和 k。正整数 n是序列
的长度;正整数k是分割的段数。接下来的一行中是一个n位十进制整数。(n<=10) 
 
     

Output

     
 
输出最大k乘积
 
     

Sample Input

     
 
2 1
15 
 
     

Sample Output

     
 
15
 
 
#include<iostream>
using namespace std;
#define N 20
int m[N][N];
char num[N];  int atoi(char arr[],int i,int j)
{  int sum=0;  while(i<=j)  {  sum = sum*10+arr[i]-'0';  //此处本来用了函数pow,然后wa了,一直找不到错在何处,  i++;       //后来问师兄,才发现原来pow(double,int)   }             //的参数double会使结果又偏差,改掉后就ac了  return sum;
}  int main()
{  int n,k,i,j,l,max,flag;  while(cin>>n>>k)  {  for(i=1;i<=n;i++)  cin>>num[i];  m[1][1]=num[1]-'0';  for(i=2;i<=n;i++)  m[i][1]=m[i-1][1]*10+(num[i]-'0'); //初始化第一列  for(j=2;j<=k;j++)//按列进行初始化  {  max=-1;  for(i=1;i<=n;i++)  {  if(j>i)  m[i][j]=0;  else  {  for(l=j-1;l<=i-1;l++)  {  flag=m[l][j-1]*atoi(num,l+1,i);  if(flag>max)  max=flag;  }  m[i][j]=max;  }  }  }  cout<<m[n][k]<<endl;  }  return 0;
}  

//****************************************************************************

改进:对于atoi这个函数实现的功能可进行打表,这样可以加快程序运行速度

//****************************************************************************

【动态规划】最大k乘积问题相关推荐

  1. 动态规划|最大k乘积问题(C语言)

    题目: [分析] 先通过若干个简单例子来观察规律,摸索思路.例如十进制整数 1234 划分为 3 段可有如下情形: 1 × 2 × 34 = 68 1 × 23 × 4 = 92 12 × 3 × 4 ...

  2. python动态规划算法最大k乘积_C语言使用DP动态规划思想解最大K乘积与乘积最大问题...

    最大K乘积问题设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 编程任务: 对于给定的I 和k ...

  3. 最大k乘积问题---动态规划实验1

    问题描述 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 例如 十进制整数 1234 划分为 ...

  4. 最大k乘积问题--动态规划

    问题 问题描述: 设x是一个n位十进制整数.如果将x划分为k段,则可得到k个整数.这k个整数的乘积称为x的一个k乘积.试设计一个算法,对于给定的x和k,求出x的最大k乘积. 编程任务: 对于给定的x和 ...

  5. 动态规划之最大K乘积问题

    题目要求 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 例如十进制整数 1234 划分为 ...

  6. 最大k乘积问题----动态规划

    问题 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 编程任务: 对于给定的I 和k,编程计 ...

  7. 【动态规划】最大K乘积问题和游艇租用问题——武汉理工大学算法设计与分析课程实验

    1.  最大K乘积问题 « 问题描述 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 例如十 ...

  8. python动态规划算法最大k乘积_划分类动态规划——乘积最大(洛谷1018,codevs1017)...

    本题由于比较老,数据实际也比较小,用long long 即可通过 代码: var n,m,i,j,k,sum:longint; s,t:string; a:array[1..40,1..40] of ...

  9. 最大k乘积的时间复杂度_惊,我还不会算时间复杂度!

    你好,我是goldsunC 让我们一起进步吧! 这篇文章因为写的时候使用的markdown,公式用的LaTex,然后转换的时候LaTex都转换成了好多图片,大家可以看到文章中有好多公式图片,然后复制的 ...

最新文章

  1. Vue添加新的响应式属性
  2. RESTful到底是什么玩意??
  3. codewars--js--Hamming Numbers
  4. 玩转JavaScript正则表达式
  5. 使用Raphael实现html中绘图
  6. openjdk 使用_如何在OpenJDK中使用ECC
  7. 2020德勤面试开始了吗_2020公务员面试公告已出,5月28日开始面试
  8. 【BZOJ1009】【codevs2325】GT考试,kmp+矩阵加速DP
  9. 华为P30系列双景录像功能上线:同屏展示全景与特写
  10. Unsupported major.minor version 52.0解决办法
  11. Python使用C++动态库的方法
  12. WordPress如何开启用户注册功能
  13. C# socket编程TcpClient与TcpListener UdpClient
  14. [嵌入式开发模块]深度传感器解算板(MS5837转串口板) 驱动模块
  15. 程序员前景一片灰暗?网友:不行找个班上吧
  16. Go 环境变量、go env
  17. 用html画一个企鹅图案的代码,HTML5 Canvas来绘制图形
  18. 国外短链接项目。一万次点击220美刀
  19. CM10稳定版推出;CyanogenMod域名险被劫持
  20. vue 传参获取数据

热门文章

  1. 个人和组织高绩效的秘籍:OKR工作法
  2. MediaCodec Flush
  3. 3377. 约数的个数
  4. 迪赛智慧数——柱状图(极坐标扇图):全球主要城市中心房价
  5. 汇编语言两位数的乘法
  6. matlab normc函数,matlab normc函数
  7. 请查询某一科目分数大于85分的所有学生的名单
  8. 振动样品磁强计的技术指标
  9. R语言——summarise和mutate函数
  10. 记录Android修改报名顺便迁移androidx