放苹果问题

来源:互联网 发布:json和webservice 编辑:程序博客网 时间:2024/05/17 02:45

题目来自http://openjudge.cn/

总时间限制: 
1000ms 
内存限制: 
65536kB

描述
把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

#include<stdio.h>int f(int x,int y){    if(x<y)        y=x;    if(x==0)        return 1;    if(y==1)        return 1;    if(x>=y)        return f(x,y-1)+f(x-y,y);    return 0;}int main(){    int t,n,m;    scanf("%d",&t);    while(t--)    {        scanf("%d%d",&m,&n);        printf("%d\n",f(m,n));    }    return 0;}

原创粉丝点击