第一届蓝桥杯第五题,第五题,假设有m+n个人,其中,m个人手持面额为5角的硬币,n个人手持面额为1元的硬币,他们都要乘车买票,现假设售票员手中无零钞,票价为5角,下面这个函数就可以算出这m+n

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 06:16:08
第一届蓝桥杯第五题,第五题,假设有m+n个人,其中,m个人手持面额为5角的硬币,n个人手持面额为1元的硬币,他们都要乘车买票,现假设售票员手中无零钞,票价为5角,下面这个函数就可以算出这m+n

第一届蓝桥杯第五题,第五题,假设有m+n个人,其中,m个人手持面额为5角的硬币,n个人手持面额为1元的硬币,他们都要乘车买票,现假设售票员手中无零钞,票价为5角,下面这个函数就可以算出这m+n
第一届蓝桥杯第五题,
第五题,假设有m+n个人,其中,
m个人手持面额为5角的硬币,
n个人手持面额为1元的硬币,
他们都要乘车买票,
现假设售票员手中无零钞,
票价为5角,
下面这个函数就可以算出这m+n个人所有可能的买标情况,
请完善此函数.
//m:持有5角币的人数
//n:持有1元币的人数
//返回:所有顺利完成购票过程的购票次序的种类数
int f(int m,int n)
{
if(m < n) return 0;
if(n==0) return 1;
return ___________(5)____________;

第一届蓝桥杯第五题,第五题,假设有m+n个人,其中,m个人手持面额为5角的硬币,n个人手持面额为1元的硬币,他们都要乘车买票,现假设售票员手中无零钞,票价为5角,下面这个函数就可以算出这m+n
目测是卡塔南计数问题,
至少有m = n,于是算卡塔兰数C(2n,n) / (n + 1)
然后对每个2n长度的排列,随意插入余下的(m - n)个five毛党……
m - n)个元素全排列之后,在(2n + 1)个空位中选(m - n)个;
不过我还是感觉这个题目描述不清楚,这是第一届的试题

return f(m-1,n-1)+f(m-1,n);