用python解决放苹果问题_放苹果
/*
M个苹果放在N个盘子里分法有:dp[M][N], 0 <= M,N <= 10
设dp(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论,
当m
当m>=n:不同的放法可以分成两类:
1、有至少一个盘子空着,即相当于dp(m,n) = dp(m,n-1);
2、所有盘子都有苹果,相当于可以从每个盘子中拿掉一个苹果,不影响不同放法的数目,即dp(m,n) = dp(m-n,n).
而总的放苹果的放法数目等于两者的和,即 dp(m,n) =dp(m,n-1)+dp(m-n,n)
初始条件说明
当m=0,n=0时,没苹果,没盘子,定为0种放法。这个条件在计算的时候用不到。题设至少一个盘子一个苹果。
当m=0,n>0时,没苹果,有盘子,定为1种放法。这个有点抽象,考虑:dp[1][1]=dp[1][0]+dp[0][1]=0+1。
当m>0,n=0时,有苹果,没盘子,定为0种放法。
dp两条路,第一条n会逐渐减少,终会到达出口n=0;
第二条m会逐渐减少,因为n>m时,会计算dp(m,m) 所以终会到达出口m=0.
*/
#include
#if US_DP
int dp[11][11];
int main()
{
int m, n;
while (scanf("%d%d", &m, &n) != EOF) {
for (int i = 1; i <= m; ++i)
dp[i][0] = 0;
for (int j = 1; j <= n; ++j)
dp[0][j] = 1;
for (int i = 1; i <= m; ++i) {
for (int j = 1; j <= n; ++j) {
if (i >= j)
dp[i][j] = dp[i][j-1]+dp[i-j][j];
else
dp[i][j] = dp[i][i];
}
}
printf("%d\n", dp[m][n]);
}
return 0;
}
#else
int f(int m, int n)
{
if (m >= 0 && n == 0)
return 0;
else if (m == 0 && n > 0)
return 1;
else if (m >= n)
return f(m, n-1)+f(m-n, n);
else
return f(m, m);
}
int main()
{
int m, n;
while (scanf("%d%d", &m, &n) != EOF)
printf("%d\n", f(m, n));
}
#endif
用python解决放苹果问题_放苹果相关推荐
- 高德python解决租房项目费用_高德API+Python解决租房问题
项目简介:编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时.项目由ekCit发 ...
- 苹果开发者_国外苹果企业开发者账户
国外苹果企业开发者账户 PG123hs6 国外苹果企业开发者账户 即便审批完毕后也不一定就代表着发布取得成功,很有可能还会继续挨打回再次递交,比较严重的会由于反复的发布被拒而造成苹果者封.科技是内测对 ...
- python解决数学建模问题_荐面试问题:2018年全国大学生数学建模竞赛项目
1. 赛题背景 2. RGV流程图 3. 面试问题 3.1 RGV和CNC是什么? RGV是轨道式自动引导车(Rail Guide Vehicle). CNC是计算机数控机床(Computer Num ...
- python分苹果问题_分苹果问题的C++和Python实现
很好玩的一个问题.话说小明的苹果怎么可能一模一样? 显然这并不是重点.重点在于抽象这个问题的方法. 如果从M个苹果,拿出N个苹果,问有几种可能性,很明显这是典型的组合问题: 如果把M个苹果等分成N份. ...
- python解决换零钱问题_多种解法解决“零钱兑换”问题
最近在LeetCode上刷算法题,准备秋招.刷了一些题之后,发现有些题非常棒,能够将多种知识点结合在一起.本文就以"零钱兑换"问题为例,展示同一道题的多种不同解法. 零钱兑换问题 ...
- python棋盘放米问题_棋盘堆米的难题怎么解决?
原标题:棋盘堆米的难题怎么解决? 国外有个故事,一个人和国王打赌.如果国王输了就给他米.但是他要的你看上去很少,实则算起来确实非常多,甚至一个国家的米都不够.国王为了用人信守承诺.国王为了应向所有人显 ...
- gif演示python循环_用Python将动态GIF图片倒放播放的方法
这次让我们一个用 Python 做一个小工具:将动态 GIF 图片倒序播放! GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧 ...
- python 定义变量_用python解决动态的定义变量名(并给其赋值方法:大数据处理)...
前言: 今天为大家带来的内容是:用python解决动态的定义变量名(并给其赋值方法:大数据处理)具有很好的参考价值,希望对大家有所帮助.喜欢本文内容的记得点赞转发收藏不迷路哦!!! 最近消费kafka ...
- python猴子吃桃问题_用Python解决猴子吃桃问题
猴子吃桃问题是数学中的一道经典问题,学习过相关数学知识的人固然已经知道该如何解答了,但还没有学到这部分知识的孩子该怎么办呢?其实接触了编程的孩子就可以用编程知识来解决这个问题了,比如Python,下面 ...
- P、V操作与c++代码实现爸爸放苹果,妈妈放桔子,两个儿子专吃盘子中桔子,两个女儿专吃盘子中苹果问题
二.吃水果综合设计 桌子上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果.爸爸专向盘子放苹果(apple),妈妈专向盘子中放桔子(orange):两个儿子专等吃盘子中的桔子,两个女儿专等吃 ...
最新文章
- ApplicationContextAware 接口
- 算法---------数组-----------两数相加
- jQuery如何实现表单的自动提示
- 【AI研究院】360无死角认识一下女神的线上美容院-“美图秀秀”
- 别再说PHP已死了,它活得好着呢
- 「LibreOJ Round #6」花火
- Quartz(任务调度)- job串行避免死锁
- WebApi个人理解概要
- CSS 盒子模型(Box Model)
- 在pycharm运行正常,在命令行窗口出现引包错误
- 基于LVDS的高速自同步串行传输系统的研究
- 内核sk_buff工作线程总结
- 简单的木马制作并且运用
- LTE系统中的OFDM技术
- 计算机考证一级考可以带书吗
- 2021-09-14TL431与LM317的区别
- 【云原生】还不会使用linux?快看这里,在window快速安装centos系统
- HEAAN源码(二)
- 利用小工具解除pdf的编辑保护
- ASP.Net中常见的文件类型
热门文章
- “动力电池第三极“中创新航IPO,能否“复刻“宁德时代?
- octobercms mysql_如何在Ubuntu 16.04 LTS上安装OctoberCMS
- 一键激活windows系统与office(绿色无捆绑装机员激活工具)
- 如何修复硬盘的分区表
- 浏览器能上网,qq,百度云不能上
- ARM嵌入式核心板介绍
- 远程桌面不能复制粘贴解决办法
- js中的点击事件(click)的实现方式
- 什么是Automata(I): Web 3.0的最后一块拼图
- 如何用计算机弹奏纸短情长,纸短情长计算器谱