乘积最大(信息学奥赛一本通-T1275)
【题目描述】
今年是国际数学联盟确定的“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设计一个程序,求得正确的答案。
【输入】
第一行共有2个自然数N,K(6≤N≤10,1≤K≤6)
第二行是一个长度为N的数字串。
【输出】
输出所求得的最大乘积(一个自然数)。
【输入样例】
4 2
1231【输出样例】
62
【源程序】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 30
#define MOD 2520
#define E 1e-12
using namespace std;
char a[N];
int f[N][N];
int cut(int left,int right)
{int ans=0;for(int i=left;i<=right;i++){ans*=10;ans+=a[i]-'0';}return ans;
}
int main()
{int n,k;cin>>n>>k;scanf("%s",&a[1]);for(int i=1;i<=n;i++)f[i][0]=cut(1,i);for(int l=2;l<=n;l++)for(int i=1;i<=min(l-1,k);i++)for(int j=i;j<l;j++)f[l][i]=max(f[l][i],f[j][i-1]*cut(j+1,l));cout<<f[n][k]<<endl;return 0;
}
乘积最大(信息学奥赛一本通-T1275)相关推荐
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(1098:质因数分解)
1098:质因数分解 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 33021 通过数: 16969 [题目描述] 已知正整数n是两个不同的质数的乘积,试 ...
- 信息学奥赛一本通(2032:【例4.18】分解质因数)
2032:[例4.18]分解质因数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 582 通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通 第五版(C++版)
信息学奥赛一本通 第五版(C++版)第一部分 C++语言 第一章 C++语言入门 第二节 C++语言程序设计 P15 1. 编写一个能够输出Hello,World!的程序,这个程序常常作为一个初学者接 ...
- 信息学奥赛一本通(C++版)NOIP提高组(1820-1829)
信息学奥赛一本通(C++版)NOIP提高组目录 //1820 [题目描述] 我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所 处位置的(值减1)为指数,以10为底数的幂之和的 ...
- 信息学奥赛一本通 1209:分数求和 | OpenJudge NOI 1.13 12:分数求和
[题目链接] ybt 1209:分数求和 OpenJudge NOI 1.13 12:分数求和 [题目考点] 1. 求最大公约数 2. 求最小公倍数 [解题思路] 求最大公约数,可以用辗转相除法.具体 ...
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...
- 信息学奥赛一本通T1447:靶形数独
信息学奥赛一本通T1447:靶形数独 [题目描述] 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z ...
最新文章
- DotNet中几种常用的加密算法
- Java中判断两个Date时间段是否有交集的方法
- linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接
- P3911 最小公倍数之和 (atcoder C - LCMs)(反演)
- 洛谷P1938 找工就业
- BZOJ2042 : [2009国家集训队]Will的烦恼
- Perl学习笔记(二)--标量数据
- Kubernetes Jobs - 运行处理任务指南
- 2018~2021年版北大中文核心期刊目录(最新第八版)
- Linux 中 17 个 tar 命令实用示例
- python获取当前工作路径
- 服务器usb驱动安装系统安装失败怎么办,usb驱动安装不成功,详细教您usb驱动安装失败的解决方法...
- 什么是WEB应用waf防火墙和DDOS高防IP?
- 给童鞋萌康康关于代码块(static代码块)的小知识
- 解决pycharm中中文列表输出'\xe5\xa4\xa7\xe8\x92\x9c'之类的字符串
- 计算净现值和内部报酬率的方法
- 信号强度诊断(系统架构)
- Reac-18 portal传送门
- iOS Objective-C(2014-1-6 20:30、20140114,20140824,20150926、20160106、20160110、20160123)
- UI设计中switch开关设计总结