有一个m行n列的网格,如下图(m=3,n=4),网格的左上角有一只小虫子。它沿着网格线爬行,目标是右下角。
这只虫子在爬行时,只能向右走,或者向下走,不能往上走或者往左走。这样,虫子就会有很多条路径。比如:往右走4格再往下走3格。另一条可能的路径是:先往右两格,再往下两格,再往右两格,最后往下1格。我们的问题是:一共有多少条不同的路径?
比如当m=3,n=2时,共有10条路径;当m=3,n=4时,共有35条路径。
答案:C(m+n, m) ,表示从m+n个元素中取m个的组合数。
解释:
虫子爬行的总路径长度等于m+n。从中取出任意m段路径让虫子往下爬,剩下的n段路径让虫子往右爬,这样就构成了一条唯一的路径。显然,这样的路径一共有C(m+n, m)条。当然,这个数也等于C(m+n, n)。