1017 乘积最大

时间限制: 1 s
空间限制: 128000 KB
 
 
 
 
题目描述 Description

今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:

设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。

同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:

有一个数字串:312, 当N=3,K=1时会有以下两种分法:

1)  3*12=36

2)  31*2=62

这时,符合题目要求的结果是:31*2=62

现在,请你帮助你的好朋友XZ设计一个程序,求得正确的答案。

输入描述 Input Description

   程序的输入共有两行:

第一行共有2个自然数N,K(6≤N≤40,1≤K≤6)

第二行是一个长度为N的数字串。

输出描述 Output Description

结果显示在屏幕上,相对于输入,应输出所求得的最大乘积(一个自然数)。

样例输入 Sample Input

4  2

1231

样例输出 Sample Output

62

数据范围及提示 Data Size & Hint

本题由于比较老,数据实际也比较小,用long long 即可通过

思路:个人喜欢递归写;

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define esp 0.00000000001
const int N=1e5+,M=1e6+,inf=1e9+,mod=;
char a[N];
ll num[N];
ll dfs(char *a,int k,int len)
{
int i,j;
if(k==)
{
ll ans=;
for(i=;i<len;i++)
ans=ans*+a[i]-'';
return ans;
}
ll sum=;
for(i=k;i<len;i++)
{
ll ans=;
for(j=i;j<len;j++)
ans=ans*+a[j]-'';
sum=max(sum,dfs(a,k-,i)*ans);
}
return sum;
}
int main()
{
int x,y,z,i,t;
scanf("%d%d",&x,&y);
scanf("%s",a);
printf("%lld\n",dfs(a,y,x));
return ;
}

codevs 1017 乘积最大 dp的更多相关文章

  1. Codevs 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 今年是国 ...

  2. codevs 1017 乘积最大

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描 ...

  3. codevs——1017 乘积最大

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Desc ...

  4. CodeVS 1017 DP

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描 ...

  5. 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组   #include <iostream> #include <string> #include & ...

  6. 最大连续子序列乘积(DP)

    题目来源:小米手机2013年校园招聘笔试题 题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 输入: 输入可能包含多个测试样例.每个测试样例的第一行仅包含正整数 ...

  7. 【wikioi】1017 乘积最大

    题目链接 算法:划分型DP 非常典型的一道题目,划分型DP 题目描述: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大.同时,为了 ...

  8. lightOJ 1017 Brush (III) DP

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1017 搞了一个下午才弄出来,,,,, 还是线性DP做的不够啊 看过数据量就知道 ...

  9. 【洛谷P1018】乘积最大 dp+高精度

    题目大意:给定一个 N 个数组成的串,可以在串中插入 M 个乘号,求乘积最大是多少.N <= 40 阶段:前 i 个数用了 j 个乘号. 仅用阶段可以表示出一个状态,因此状态转移方程为 \(dp ...

随机推荐

  1. About Outlook Rule Quota

    在Exchange中默认有设置outlook的规则的大小,如果client在outlook上设定的规则超过大小会导致功能无法使用 Outlook的郵件規則,在Exchange 2000/2003時,郵 ...

  2. Calico相关资料链接

    部署calico的两个yaml文件: kubectl apply -f http://docs.projectcalico.org/v2.3/getting-started/kubernetes/in ...

  3. rest_framake之视图

    开始,先放大招 一  最原始的写法 前戏之序列化 class AuthorSerializer(serializers.ModelSerializer): class Meta: model = mo ...

  4. Android---55---Web Service概述

    Web Service 是什么? /*w3school*/ Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-co ...

  5. MB11 生鲜项目原料消耗发货功能

    *&---------------------------------------------------------------------* *& 程序名: ZDQFI_925 * ...

  6. 判断json格式中是否含有key

    1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了. 2.if("key& ...

  7. beego——模板语法

    一.基本语法 go统一使用{{和}}作为左右标签,没有其它的标签符号. 使用"."来访问当前位置的上下文,使用"$"来引用当前模板根级的上下文,使用$var来访 ...

  8. Cannot format given Object as a Date

    这个小错挺有意思的,记录一下 导出Excel的时候,同事直接用 format …… 前提:数据库中该字段是 Timestamp ---- 2016-06-20 22:49:02.967 写个测试说明一 ...

  9. Codeforces Round #303 (Div. 2)

    A.Toy Cars 题意:给出n辆玩具车两两碰撞的结果,找出没有翻车过的玩具车. 思路:简单题.遍历即可. #include<iostream> #include<cstdio&g ...

  10. Spring mvc 具体RequestMapping 参数含义

    今天遇到碰到有人问我个问题,RequestMapping中参数的意义,哎呀傻眼了,果断查资料,这下知道了. http://blog.csdn.net/kobejayandy/article/detai ...