1206:放苹果

简介: 1206:放苹果

1206:放苹果

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

【输入】

第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。

【输出】

对输入的每组数据M和N,用一行输出相应的K。

【输入样例】

1

7 3

【输出样例】

8

【来源】

No

1. #include<cstdio>
2. #include<iostream> 
3. #include<cstring>
4. using namespace std;
5. int up(int a,int b)//a苹果 b盘子
6. {
7.  if(a==0||b==1) return 1;
8.  else if(a<b) return up(a,a);//苹果数小于盘子数 
9.  else return up(a-b,b)+up(a,b-1);
10.   //每个盘子至少放一个苹果 +至少有一个盘子为空 
11. }
12. int main()
13. {
14.   int t,m,n;
15.   scanf("%d",&t);
16.   for(int i=1;i<=t;i++){
17.     scanf("%d %d",&m,&n);
18.     printf("%d\n",up(m,n)); 
19.   }
20.   return 0;
21.  }

 

相关文章
poj 1164 放苹果
这题可以用递归的方式做,想给第一个盘子里放上苹果从(0到m),然后给第二个放上,为了保证每次产生的放法是不同的,第二个里面放置的苹果不能从0开始,否则就会产生相同的放法,然后同理第三第四个盘子。。。。 还有一个问题,可能放到最后一个盘子了,还有很多苹果没有放,怎么办?
51 0
|
iOS开发
一日一技:静音的iPhone放在家里找不到了怎么办?
一日一技:静音的iPhone放在家里找不到了怎么办?
886 0
初学算法之递归---放苹果
初学算法之递归---放苹果
|
定位技术 Android开发
安卓百度地图点击回到当前位置
安卓百度地图点击回到当前位置
277 0