最大k乘积
来源:互联网 发布:macbook air 屏幕优化 编辑:程序博客网 时间:2024/06/06 18:28
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#include<math.h>using namespace std;#define M 101int m[M][M],w[M][M],a[12];/*w[i][j]是i到j组成的数字m[i][j]表示的是前i个数字分成j段的最大乘积*/int I,n,k;void init(){ int i,j,temp=I; for (i=n;i>0;i--) { a[i]=temp%10; temp/=10; // printf("%d ",a[i]); } for (i=1;i<=n;i++) { w[i][i]=a[i]; for (j=i+1;j<=n;j++) w[i][j]=w[i][j-1]*10+a[j]; }// for (i=1;i<=n;i++)// for (j=i;j<=n;j++)// printf("%d ",w[i][j]);// printf("\n");}int main(){ while (~scanf("%d%d",&I,&k)) { int i,j,d; n=log10(I)+1; init(); memset(m,0,sizeof(m)); for (i=1;i<=n;i++) m[i][1]=w[1][i]; for (i=2;i<=n;i++) { for (j=2;j<=k;j++) { for (d=1;d<=i;d++) if (m[d][j-1]*w[d+1][i]>m[i][j]) { m[i][j]=m[d][j-1]*w[d+1][i]; //关键代码 // printf("%d %d %d %d\n",i,j,m[d][j-1],w[d+1][i]); } } } printf("%d\n",m[n][k]); } return 0;}/*78654 3结果:36624486 2结果:334*/
0 0
- 最大K乘积
- 最大K乘积
- 最大K乘积问题:
- 最大k乘积问题
- 最大K乘积
- 最大K乘积问题
- 最大K乘积问题
- 最大K乘积问题
- 最大k乘积
- 最大k乘积问题
- 最大k乘积
- 最大k乘积问题
- 最大k乘积问题
- 最大K乘积
- 最大k乘积问题
- 最大k乘积
- 【dp】最大k乘积问题
- C++ 实现最大k乘积
- 【转】有限状态机问题编程实践
- Codeforces 625B【KMP】
- Spring笔记(第五弹:Spring MVC工程集成Mybatis)
- 女科学家吴健雄
- 关于算法复杂度的分析与算法奇偶交换
- 最大k乘积
- 文件上传利器SWFUpload入门简易教程
- 幸运的中奖者AOJ493
- Android中的进程间通信(IPC机制)
- 在用vmware安装ubuntu的时候由于分辨率问题,界面显示不全解决办法
- sparkstreaming输入测试(网络端口数据)
- LeetCode 145. Binary Tree Postorder Traversal
- 欢迎使用CSDN-markdown编辑器
- imagemagic 半透明蒙层