JD3 小东分苹果
时间:2021-10-10
本文章向大家介绍JD3 小东分苹果,主要包括JD3 小东分苹果使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
描述
果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。
给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。
思路:
采用DP的思想,按照轮数从后往前推导,设最后一轮的分配前剩x个苹果,那么倒数第二轮分配前剩下的苹果为n/(n-1)*x+1
最关键的就是这个x的确定了,因为这个x需要保证每轮的分配都均匀分配(能够整除n),没办法,只能逐个测试了:
1 class Apples { 2 public: 3 int getInitial(int n) { 4 // write code here 5 // 设dp[i]表示从后往前,第i轮的剩下的苹果数,可得 6 // dp[i]=dp[i-1]*n/(n-1)+1 但是dp[0]怎么确定呢? 7 // 那就一个个试吧 8 int res=0; 9 int init=1; // 从最后剩下一个开始 10 vector<int> dp={n,0}; 11 int i=1; 12 while(1){ 13 dp[0]=init; 14 int i; 15 for(i=1;i<n;++i){ // 判断当前init值是否是正确的 16 if(dp[i-1]%(n-1)==0){dp[i]=dp[i-1]*n/(n-1)+1;} 17 else{ 18 init=n+init; // 更换下一个init值 19 dp[0]=init; 20 break; 21 } 22 } 23 if(i==n) break; 24 } 25 return dp[n-1]; 26 } 27 };
心之所愿,永不相忘
原文地址:https://www.cnblogs.com/zgll/p/15388967.html
- 如何跨平台在本地开发环境提交MapReduce作业到CDH集群
- 区块链行业的机会
- KEGG数据库的rest API(附带R语言小技巧)
- 如何使用Java代码访问HDFS.docx
- Django CSRF Bypass (CVE-2016-7401) 漏洞分析
- 如何使用Cloudera Manager禁用YARN的HA
- Web Worker 中的 importScripts 和 baseHref 同源策略绕过问题
- 如何使用Java代码访问CDH的Solr服务
- Safari UXSS漏洞分析(CVE-2016-4758)
- Sqoop抽取Hive Parquet表数据到MySQL异常分析
- Hue中使用Oozie创建Ssh工作流时sudo命令执行失败问题分析
- [译]Safari URL重定向漏洞(CVE-2016-4585)利用分析
- Hive中的Timestamp类型日期与Impala中显示不一致分析(补充)
- 百篇(5):FeignClient 在不同场景中的应用
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- SQL注入原理及代码分析(二)
- 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出 现的次数。
- SSRF漏洞简单分析
- 树莓派基础实验30:BMP180气压传感器实验
- DC-1靶机实战和分析
- 如何用Python优雅的登录校园网?
- PHP入门之类型与运算符
- 栈论 : 递归与栈式访问,如何用栈实现所有递归操作(幼儿园题目篇,题目3)
- Maven是什么? Maven的概念+作用+仓库的介绍+常用命令
- JDK8;HashMap:再散列解决hash冲突 ,源码分析和分析思路
- 写一个 Singleton
- 树莓派基础实验31:MPU6050陀螺仪加速度传感器实验
- springboot gradle mybatis mysql配置(注解)
- PHP入门之流程控制
- 常用进制转换方法(取商留余)原理解析, 附基于栈实现进制转换的代码