请教:C语言类设置游戏青蛙过河源代码!
设n为石墩数,m为荷叶数,F[n,m]表示有n个石墩和m片荷叶时能跳过的最大青蛙数。现在可以加一个石墩,此时会有n+1个石墩,把n+1个石墩看成右岸,这样就可以把f [n,0。此时n+1号石墩上有F[n,m]只青蛙。这时,河中有n个空石墩和m片空荷叶,也能帮助F[n,m]只青蛙从左岸跳到真正的右岸。此时以n+1号石墩为左岸,借助n个石墩和河中m片荷叶,平顺。
因此,关系F[n+1,m]=2*F[n,m]。
推导:F[n,m]=2*F[n-1,m]
=4*F[n-2,m]
……
=(2^i)*F[n-i,m]
……
=(2^n)*F[0,m]
当n=0时,河中只有m片荷叶,每片荷叶上只能有一只青蛙,加上一只可以直接从右岸跳到左岸的青蛙,所以* * *有m+1只青蛙,即F[0,m]= m+1;因此
F[n,m]=(m+1)*2^n