java实现 洛谷 P1018 乘积最大
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
private static Scanner cin;
private static char[] values;
private static BigInteger max = new BigInteger("1");
private static int n;
private static int k;
public static void main(String args[]) throws Exception {
cin = new Scanner(System.in);
n = cin.nextInt();
k = cin.nextInt();
String nvalue = cin.next();
values = nvalue.toCharArray();
calc(0,n-k,max,1);
System.out.println(max);
}
/**
* 基于values数组,从startposition位置开始,有length个数字可以用来分割拼接成数字,当前处理到k+1个数字的第count个,tmpValue是之前count-1个数字的乘积
* @param startPosition
* @param length
* @param tmpValue
* @param count
*/
public static void calc(int startPosition, int length, BigInteger tmpValue, int count) {
String tmp = null;
//如果是最后一个数,使用剩余的数字组成一个数字
if(count == k+1) {
tmp =String.valueOf(values,startPosition,values.length-startPosition);
BigInteger value = new BigInteger(tmp);
BigInteger tValue = tmpValue.multiply(value);
if(tValue.compareTo(max)>0) {
max = tValue;
}
}else {
for(int j=1;j<=length;j++) {
tmp = String.valueOf(values,startPosition,j);
BigInteger value = new BigInteger(tmp);
BigInteger tValue = tmpValue.multiply(value);
calc(startPosition+j,n-startPosition-j-(k-count),tValue,count+1);
}
}
}
}
java实现 洛谷 P1018 乘积最大的更多相关文章
- 洛谷 P1018 乘积最大
P1018 乘积最大 题目描述 今年是国际数学联盟确定的“ 20002000 ――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰 9090 周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学 ...
- 洛谷 P1018乘积最大
题目描述 今年是国际数学联盟确定的“20002000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰9090周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友 ...
- 洛谷P1018乘积最大——区间DP
题目:https://www.luogu.org/problemnew/show/P1018 区间DP+高精,注意初始化和转移的细节. 代码如下: #include<iostream> # ...
- [NOIP2000] 提高组 洛谷P1018 乘积最大
题目描述 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得 ...
- 洛谷—— P1018 乘积最大
https://www.luogu.org/problem/show?pid=1018#sub 题目描述 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年 ...
- 洛谷 P4902 乘积 (约数筛,前缀和(积))
洛谷P4902乘积 题意简述: 给 $ t $ 组 $ (a,b) $ 求: $ \prod_{i=A}^{B}\prod_{j=1}^{i}(\frac{i}{j})^{\lfloor \frac{ ...
- Java实现 洛谷 Car的旅行路线
输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...
- Java实现 洛谷 P1738 洛谷的文件夹
题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...
- Java实现洛谷 P1428 小鱼比可爱
题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...
随机推荐
- Jmeter自动发送邮件
自动发送邮件: 1.自动发送邮件,需要三个jar,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下 2.报错 Ex ...
- 00002-layui 右侧呼出页面,PopupLayer
我这里的功能是弹出 右侧搜索 的页面: top.layui.admin.popupRight({ id: 'LAY_business_PopupLayer' ,area: '350px' ,succe ...
- 9.2 Go 文件IO操作
9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 func main() { //NewReader返回一个结构体对象指针 reader ...
- module.exports = $; $ is not defined
https://blog.csdn.net/weixin_43945983/article/details/88294052 解决方案:安装依赖包 1.执行安装jquery依赖包命令 cnpm ins ...
- POJ-2488 国际象棋马的走法 (深度优先搜索和回溯)
#include <stdio.h> #define MAX 27 void dfs(int i, int j); int dx[8] = {-1, 1, -2, 2, -2, 2, -1 ...
- UVA10529 Dumb Bones (完成度:40%)
题目链接:https://vjudge.net/problem/UVA-10529 知识点: 概率与期望,DP. 题目大意: 现要放置 \(n\) 个多米诺骨牌,且每放置一块多米诺骨牌有 \(P_l\ ...
- #!/usr/bin/python
它是用来指定用什么解释器运行脚本以及解释器所在的位置. 参考链接:https://www.cnblogs.com/qmfsun/p/6291982.html
- OpenStack的Heat组件详解
一:简介 一.什么Heat 1. Heat 是一套业务流程平台,旨在帮助用户更轻松地配置以 OpenStack 为基础的云体系.利用Heat应用程序,开发人员能够在程序中使用模板以实现资源的自 ...
- Flink kuduSink开发
1.继承RichSinkFunction (1)首先在构造方式传入kudu的masterAddress地址.默认表名.TableSerializationSchema.KuduTableRowConv ...
- 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE
[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...