题目描述:
一场球赛开始前,售票工作正在紧张进行中。每张球票为 50 元,有 m+n 个人排队等待购票,其中有 m 个人手持 50 元的钞票,另外 n 个人手持 100 元的钞票。求出这 m+n 个人排队购票,使售票处不至出现找不开钱的局面的不同排队种数 。(约定:开始售票时售票处没有零钱,拿同样面值钞票的人对换位置为同一种排队。)
输入描述
多组输入,每组输入由一个空格分开胡两个正整数 m 和 n,其中 m 表示手持 50 元的钞票的人数,n 表示手持 100 元的钞票的人数。
输出描述
一个整数,占一行,表示对应于每组输入,排队胡数量。
样例输入:
4 5
5 4
样例输出:
0
42
/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-03-30 10:00:38
* @LastEditTime: 2022-03-30 10:03:57
*/
#include<bits/stdc++.h>
using namespace std;
int n,m;
int f(int m,int n)
{
if(n == 0)
return 1;
if(m < n)
return 0;
return f(m - 1,n) + f(m ,n - 1);
}
int main()
{
while(cin >> m >> n){
int ans = f(m,n);
cout << ans << endl;
}
}
|