poj1664——放苹果(递推)
2017-05-03 15:02
239 查看
Description
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
Input
第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
Output
对输入的每组数据M和N,用一行输出相应的K。
Sample Input
1
7 3
Sample Output
8
1、最少的盘子放了一个,这样每个盘子都放一个,剩下m-n个随便放
2、最少的盘子不放,全放入剩下的n-1个盘子里
出口是没有苹果可放或只剩下一个盘子能放
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
Input
第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
Output
对输入的每组数据M和N,用一行输出相应的K。
Sample Input
1
7 3
Sample Output
8
1、最少的盘子放了一个,这样每个盘子都放一个,剩下m-n个随便放
2、最少的盘子不放,全放入剩下的n-1个盘子里
出口是没有苹果可放或只剩下一个盘子能放
#include <iostream> #include <cstring> #include <string> #include <vector> #include <queue> #include <cstdio> #include <set> #include <math.h> #include <algorithm> #include <queue> #include <iomanip> #include <ctime> #define INF 0x3f3f3f3f #define MAXN 500005 #define Mod 1000000007 using namespace std; int fuck(int m,int n) { if(m<0) return 0; if(m==0||n==1) return 1; return fuck(m-n,n)+fuck(m,n-1); } int main() { int t; scanf("%d",&t); while(t--) { int m,n; scanf("%d%d",&m,&n); printf("%d\n",fuck(m,n)); } return 0; }
相关文章推荐
- poj 1664 放苹果(递推)
- 【递推】POJ 1664 放苹果
- poj 1664 递推(盘子放苹果)
- poj 1664 放苹果 (递推)
- POJ,北大OJ,1664 ,放苹果。递推解法。。。
- POJ 1664 放苹果 (递推)
- poj 1664 放苹果(递推,记忆化搜索)简单题
- poj1664放苹果(dfs与递推,两种方法)
- 小白算法练习 poj 1664 放苹果 整数拆分 递推
- POJ 1664 放苹果(经典递推)
- poj 1664 放苹果(递推)
- 递归及递推问题系列之 放苹果 poj 1664
- poj 1664 放苹果(递推)
- POJ1664 放苹果【递推】
- poj 1664 放苹果(递推)
- [ACM] POJ 1664 放苹果(n个相同小球放入m个相同盒子)
- 经典递归问题--放苹果POJ【1664】
- pku-1664 放苹果(递推)
- POJ 1664放苹果 - 详解
- POJ-1664 放苹果