问题描述:可达路径组合数求解,如图,(a,b)和(m,n)分别表示对应块上的位置坐标。
求:从(m,n)到(a,b)的可达路径数量(要求:可达路径方向只能自右向左、自下而上)
解答:
根据可达路径的要求,我们知道两点:第一点,所有的路径都是不能走回头路的;从而,第二点,所有的可达路径长度都是(m-a)+(n-b),且其中,横向路径长度为(n-b),纵向路径长度为(m-a)。所以,我们的求解问题就转换成了如下一个排列组合问题:共有(m-a)+(n-b)个位置,需要选出(n-b)个位置自右向左走(剩下的便是自下而上走),或者选出(m-a)个位置自下而上走,这样,明显的排列组合问题就出现了。
其中,L表示自右向左走,U表示自下而上走。
注:可能会有人对这样的可行性产生疑问,是否我任意的排列L和U都是可达路径?答案:是的。因为,我们要求路径的前提是自右向左、自下而上,只要是按照这个规则走,任何路径都是可达路径。(见第二点)