首页 > 代码库 > 放苹果

放苹果

放苹果

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other)
Total Submission(s) : 19   Accepted Submission(s) : 14
Problem 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
 

 

Source
PKU
 
 1 #include <stdio.h>
 2 int C(int M,int N)
 3 {
 4     if(M==0||N==1)
 5         return 1;
 6     if(M<0)
 7         return 0;
 8     return C(M-N,N)+C(M,N-1);
 9 }
10 
11 int main()
12 {
13     int T,M,N;
14     scanf("%d",&T);
15     while(T--)
16     {
17         scanf("%d %d",&M,&N);
18         printf("%d\n",C(M,N));
19    }
20    return 0;
21 }
View Code