C时间限制:3000 毫秒 |  C内存限制:3000 Kb
题目内容:
设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定
的I和k ,求出I的最大k乘积.
Input
输入的第1行中有2个正整数n和k.正整数n是序列的长度;正整数k是分割的段数.接下来的一行中是一个n位十进制整数.(n<=10)
Output
输出计算结果,第1行中的数是计算出的最大k乘积.
n位十进制整数.(n<=10)
输入描述
输入的第1行中有2个正整数n和k.正整数n是序列的长度;正整数k是分割的段数.接下来的一行中是一个
输出描述
输出计算结果,第1行中的数是计算出的最大k乘积.
输入样例
2 1
15
输出样例
15*/

#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int n,m;
string s;
int a[15];
int dp[15][15];
int cal(int s,int e){
    int ans = a[s];
    for(int i=s+1;i<=e;i++){
        ans=ans*10+a[i];
    }
    return ans;
}
int main(){
    cin>>n>>m;
    cin>>s;
    memset(a,0,sizeof(a));
    for(int i=1;i<=n;i++){
        a[i] = s[i-1]-'0';
    }
    for(int i=1;i<=n;i++){
        dp[i][1] = cal(1,i);
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(i==j)
                dp[i][j] = dp[i-1][j-1]*cal(i,i);
            else if(i<j)
                dp[i][j] = 0;
            else{//i>j
                if(j!=1)
                    dp[i][j]=0;
                for(int kk=1;kk<i;kk++){
                    if(kk<j-1)
                        dp[kk][j-1] = 0;
                    dp[i][j]=max(dp[kk][j-1]*cal(kk+1,j),dp[i][j]);//将分为j段的问题化简为分为j-1段,大问题化为小问题
                }
            }    
        }
    }
    cout<<dp[n][m]<<endl;
    return 0;
}

思路:

cal(i,j)记录的是一串数字从第i位到第j位的数,

举例:1234

cal(2,3) 就是23  cal(2,4)就是234

列表

j\i 1 2 3 4
1 1 12 123 1234
2 0 2 36 492
3 0 0 6 144
4 0 0 0 24

再注意一下细节问题

68.最大k乘积问题 (15分)的更多相关文章

  1. 最大k乘积问题

    68.最大k乘积问题 (15分)C时间限制:3000 毫秒 | C内存限制:3000 Kb题目内容:设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积. ...

  2. 7-8 矩阵A乘以B (15分)

    7-8 矩阵A乘以B (15分)   给定两个矩阵A和B,要求你计算它们的乘积矩阵AB.需要注意的是,只有规模匹配的矩阵才可以相乘.即若A有R​a​​行.C​a​​列,B有R​b​​行.C​b​​列, ...

  3. PAT 乙级 1091 N-自守数 (15 分)

    1091 N-自守数 (15 分) 如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”.例如 3×92​2​​=25392,而 25392 的末尾两位正好是 ...

  4. PAT 乙级 1086 就不告诉你 (15 分)

    1086 就不告诉你 (15 分) 做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三.”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积. 输入格式 ...

  5. PTA 7-3 jmu-ds-单链表的基本运算(15 分)

    jmu-ds-单链表的基本运算(15 分) 实现单链表的基本运算:初始化.插入.删除.求表的长度.判空.释放.(1)初始化单链表L,输出L->next的值:(2)依次采用尾插法插入元素:输入分两 ...

  6. PAT 乙级 1071 小赌怡情(15 分)

    1071 小赌怡情(15 分) 常言道“小赌怡情”.这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计算机给出第二个数.若玩 ...

  7. 20-最大k乘积问题

    /*                                             最大k乘积问题        题目内容: 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数. ...

  8. B1091 N-自守数 (15分)

    B1091 N-自守数 (15分) 如果某个数 \(K\)的平方乘以\(N\) 以后,结果的末尾几位数等于 \(K\),那么就称这个数为"\(N\)-自守数".例如 \(3×92 ...

  9. B1086 就不告诉你 (15分)

    B1086 就不告诉你 (15分) 做作业的时候,邻座的小盆友问你:"五乘以七等于多少?"你应该不失礼貌地围笑着告诉他:"五十三."本题就要求你,对任何一对给定 ...

随机推荐

  1. html5中利用FileReader来读取文件。

    利用FileReader来读取文件的能够来实现即时预览的效果,这个也是在html5中才有的功能. <!DOCTYPE html> <html lang="en"& ...

  2. Cocos2d之运行Test项目

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 打开Test项目 路径为   C:\Dev\cocos2d-x-3.8.1\build 2.设定cpp-tests为启动项(当cpp ...

  3. WireMock提供Restful接口数据

    1.去官网下载并启动: 2.引入Pom依赖(主要是com.github.tomakehurst:wiremock): <dependency> <groupId>com.git ...

  4. idea部署tomcat项目时,在项目里打断点不能拦截

    以下内容都是基于我自己的项目(如未解决道友们的问题,请别介意) idea部署tomcat项目时,在项目里打断点不能拦截,工作中遇到的问题,记录一下(tomcat6) 当项目的以下内容配置完毕后,启动项 ...

  5. ArcGis基础——设置图层可选状态

    在ArcMap的图层列表上右键,可以设置“仅本图层可选”. 那么,如何设置回多个或者全部图层可选状态呢? 1.在ArcMap的菜单栏找到 自定义——自定义模式——选择——设置可选图层. 2.将“设置可 ...

  6. Java中使用File类删除文件夹和文件

    删除工具类: import java.io.File; public class DeleteAll{ public static void deleteAll(File file){ if(file ...

  7. Asp.net Controller中View 和Action方法认证Authorize 及对AuthorizeAttribute扩展

    Asp.net Controller中View和Action方法认证Authorize 在建立Web 站点安全性时 1.登录后才可访问系统文件 ——限制 Forms认证 <authenticat ...

  8. JavaScript_DOM(文件对象模型)

    DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口). DOM 描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分. DOM1 级将 HTML ...

  9. 2018-8-10-win10-uwp-ApplicationView

    title author date CreateTime categories win10 uwp ApplicationView lindexi 2018-08-10 19:16:53 +0800 ...

  10. Android Studio在Ubuntu下离线安装Gradle

    更新android studio3.0后又要升级gradle了,估计又要很长时间,晚上临走前跟开始更新下载,第二天一早发现又卡了,吐血. 在某CSDN下载gradle-4.1-all.zip,直接手动 ...