POJ1664——动态规划+递归应用
2019-04-15 22:36
106 查看
题目来源:http://poj.org/problem?id=1664
参考链接:(1)https://www.geek-share.com/detail/2660151818.html
(2)https://www.geek-share.com/detail/2596816761.html
题目概要:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
解析:
(1)当只有1个苹果或者1个盘子或者没有苹果时,只有一种分法
(2)当M< N 时实际上就变成了M个苹果放在M个盘子中的问题,即f(M,M)
(3)当M == N 时两种情况,第一种至少有一个盘子为空的分法f(M,N-1),第二种一个盘子放一个苹果
(4)当M > N 时同样分为两种情况,第一种至少有一个盘子为空的分法f(M,N-1),第二种一个盘子放一个苹果, 剩下的M-N个放在 N个盘子中即f(M-N,N)
因此代码如下:
[code]#include <iostream> using namespace std; int f(int M,int N) { if(M == 1 || N == 1 || M == 0) return 1; if(M < N) return f(M, M); else return f(M, N-1) + f(M-N,N); } int main() { int Num,M,N; cin >> Num; while(Num--) { cin >> M >> N; cout << f(M, N) << endl; } return 0; }
相关文章推荐
- POJ 1664 放苹果【DFS/递归】
- 【递归】POJ 1664 放苹果
- poj 1664 放苹果,递归(深度优先搜索)
- 【递归 & 动态规划】POJ 1191 棋盘分割
- poj 动态规划DP - 1664 放苹果
- POJ 1664 求m个苹果放入n个盘子的不同放法数目 递归 分类讨论
- poj 1664放苹果 递归 DFS及等价问题
- poj 2287 Tian Ji -- The Horse Racing 贪心思想在动态规划上的应用
- POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
- poj--1664--放苹果(递归好体)
- POJ 1664 分苹果(递归)。
- POJ 1664 求m个苹果放入n个盘子的不同放法数目 递归 分类讨论
- POJ-----1664---放苹果---递归 思维
- Poj1664!【递归】
- POJ 2057 贪心思想在动态规划中的应用
- poj--1664--放苹果(递归好体)
- poj 3635 Full Tank 动态规划思想在spfa算法中的应用
- poj 1664 m个苹果放入n个盘子,递归写法和DP写法
- poj-1664【递归】【思维】
- POJ 1664 放苹果 (递归)