2022-03-30:有m个同样的苹果,认为苹果之间无差别, 有n个同样的盘子,认为盘子之间也无差别, 还有,比如5个苹果如果放进3个盘子, 那么1、3、1和1、1、3和3、1、1的放置方法,也认为是
2022-03-30:有m个同样的苹果,认为苹果之间无差别,
有n个同样的盘子,认为盘子之间也无差别,
还有,比如5个苹果如果放进3个盘子,
那么1、3、1和1、1、3和3、1、1的放置方法,也认为是一种方法。
如上的设定下,返回有多少种放置方法。
答案2022-03-30:
数的分裂。
自然智慧,递归。
代码用golang编写。代码如下:
package main
import "fmt"
func main() {
ret := ways3(5, 4)
fmt.Println(ret)
}
var dp [][]int
func ways3(apples, plates int) int {
if dp == nil {
dp = make([][]int, 11)
for i := 0; i < 11; i++ {
dp[i] = make([]int, 11)
}
for i := 0; i <= 10; i++ {
for j := 0; j <= 10; j++ {
dp[i][j] = -1
}
}
}
return process3(apples, plates, dp)
}
func process3(apples, plates int, dp [][]int) int {
if dp[apples][plates] != -1 {
return dp[apples][plates]
}
ans := 0
if apples == 0 {
ans = 1
} else if plates == 0 {
ans = 0
} else if plates > apples {
ans = process3(apples, apples, dp)
} else {
ans = process3(apples, plates-1, dp) + process3(apples-plates, plates, dp)
}
dp[apples][plates] = ans
return ans
}
执行结果如下:

2022-03-30:有m个同样的苹果,认为苹果之间无差别, 有n个同样的盘子,认为盘子之间也无差别, 还有,比如5个苹果如果放进3个盘子, 那么1、3、1和1、1、3和3、1、1的放置方法,也认为是的更多相关文章
- 将m个苹果放入n个盘子的问题【转】
来自:http://blog.csdn.net/qq675927952/article/details/6312255 问题1: m----->相同, n---> 相同,可为空 将m个苹果 ...
- m个苹果放入n个盘子问题
这个问题,看似是一个简单的排列组合问题,但是加上不同的限制条件,会演变成不同的问题,感觉很奇妙,就总结一下列举下来 问题一 问题描述:把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问有多 ...
- EZ 2018 03 30 NOIP2018 模拟赛(六)
链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...
- 2019.03.30 Dialog demo 一个标准使用的dialog程序
PROGRAM zdemo_dialog. INCLUDE zdemo_dialogtop. INCLUDE zdemo_dialogo01. INCLUDE zdemo_dialogi01. INC ...
- GRUB学习笔记(转自http://www.cnblogs.com/evilzy/archive/2008/03/30/1130173.html)
grub学习笔记1 首先要了解的几个概念 1.1 启动管理器 启动管理器是存储在磁盘开始扇区中的一段程序,例如,硬盘的MBR(Master Boot Record),在系统完成启动测试后,如果系统是从 ...
- “耐撕”团队 2016.03.30 站立会议
1. 时间: 16:45--17:05 总计:20分钟 2. 成员: Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:ht ...
- 2019.03.30 图解HTTP
文章来源<图解HTTP> 第一章 了解Web及网络基础 你有想过当你在浏览器(web browser)的地址栏上输入URL时,Web页面是如何实现的吗? 嗯,好像也没想过 web使用一种名 ...
- 2019.03.30 Head first
第一节 认识python python.exe -V python 会进入解释器 quit()命令会退出解释器 IDEL,一个python的集成开发环境,能够利用颜色突出语法的编辑器,一个调试工具,P ...
- 2018/03/30 每日一个Linux命令 之 创建用户/密码
感悟: 感觉每天学习下指令真的很不错,虽然感觉也没啥东西,但是真的用到了,马上就能想起来个大概,忘了详细的用法,就回来看看自己的博客. 话说今天GitHub上有个人 star 了我的项目,很开心,嘎嘎 ...
- 2018.03.30 abap屏幕标签保存之前执行过的状态
REPORT ZZJX_TEST09. *&---------------------------------------------------------------------* TAB ...
随机推荐
- VMware安装Rocky Linux8服务器系统并执行优化,包括修改安装镜像源、ssh免密等等
1. https://blog.csdn.net/DCTANT/article/details/125430461?utm_medium=distribute.pc_relevant.none-tas ...
- excel里面嵌入一个表格
excel里怎么嵌入表格 excel是我们工作中经常会用的软件,有时两表格想放在一起比较,但是行高列宽调起来顾此失彼,so: 软件版本:Microsoft Office Excel 2010 操作系统 ...
- pushd 和 popd:对目录栈进行操作
介绍 目录栈是保存目录的栈结构,当前目录处于该栈结构的顶端,可使用dirs查看目录栈的目录.pushd命令可添加一个目录到目录栈,popd命令会清除目录栈中的一个目录. dirs dirs有三个参数: ...
- [极客大挑战 2019]LoveSQL 1
很明显这时一道SQL注入的题目 这题很简单的SQL注入题目,使用union(联合查询注入),但是缠了我很久 为什么呢?因为我们学校的waf,很多可以注入成功的语句,他都会连接被重置,或者被burpsu ...
- Android笔记--SQL
SQL基本语法 基本语法在Python和Java那里都已经重复过了,这里就不再重复了 SQLiteDatabase--SQLite的数据库管理类 主要分为以下3类: 管理类 相关实现: 事务类 数据库 ...
- MarkdownStudy01markdown用法
一级标题 二级标题 三级标题 字体 Hello,Word! Hello,Word! Hello,Word! Hello,Word! 引用 好好学Java 分割线 图片 超链接 点击跳转 列表 A B ...
- JVM常用参数说明
内存相关 通过这些参数可以对JVM的内存分配做调整 Xms 英文解释:Initial heap size(in bytes) 中文释义:堆区初始值 使用方法:-Xms2g 或 -XX:InitialH ...
- 统计模拟实验—R实现(蒲丰投针)
统计模拟实验 统计模拟是数理统计.和计算机科学的结合,是一门综合性学科.在科学研究和生产实际的各个领域中,普遍存在着大量数据的分析处理工作.如何应用数理统计中的方法来解决实际问题,以及如何解决在应用中 ...
- IPv4已正式用尽
网际协议版本4 (英语:Internet Protocol version 4,缩写:IPv4,又称互联网通信协议第四版)是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署和使用的版本. ...
- 《HelloTester》第4期
1.前言 终于到了谈面试的部分了! 我在这也说明一下,有同学说之前简历篇的时候一直在说项目的介绍,而面试官真正关心的是技术啊?我在这做个解释,因为我写的这些文章主要针对的是软件测试的同学,所以其他职位 ...