|
一场球赛开始前,售票工作正在紧张进行中。每张球票为50元,有m+n个人排队等待购票,其中有m 个人手持50元的钞票,另外n个人手持100元的钞票。求出这m+n个人排队购票,使售票处不至出现找不开钱的局面的不同排队种数 。(约定:开始售票时售票处没有零钱,拿同样面值钞票的人对换位置为同一种排队。)
分如下二种情形讨论
1) 第m+n个人手持100元的钞票:则在他之前的m+n-1个人中有m个人手持50元的钞票,有n-1个人手持100元的钞票,此时排队总数为f(m,n-1)。
2) 第m+n个人手持50元的钞票:则在他之前的m+n-1个人中有m-1个人手持50元的钞票,有n个人手持100元的钞票,此时排队总数为f(m-1,n)。
由加法原理得到f(m,n)的递归关系:
f(m,n)=f(m,n-1)+f(m-1,n)
初始条件:
当m<n时,f(m,n)=0
当n=0时,f(m,n)=1
我是实在不懂这个过程,有算法大佬能详细的解释一下各个步骤都做的是什么吗?
代码在也在这。
|
上一篇: 第12课求助下一篇: GetLastError();怎么取数
|