考虑笛卡尔坐标系中的点P(n,n)。 一个机器人必须从原点出发并到达该点。机器人可以采取的唯一步骤是:
- 向右移动1个单位
- 向上移动1个单位。
机器人到达点P有多少不同的路径?
是否存在到达点P的最优路径?(向上和向右的步数代价相同)。
考虑笛卡尔坐标系中的点P(n,n)。 一个机器人必须从原点出发并到达该点。机器人可以采取的唯一步骤是:
机器人到达点P有多少不同的路径?
是否存在到达点P的最优路径?(向上和向右的步数代价相同)。
(2n choose n)
因为你必须向右走 n
步和向上走 n
步才能到达点 (n,n)
,但是你走这些步骤的顺序无关紧要。
所以总共有 2n
步,其中 n
步向右,n
步向上。在 (2n choose n)
种方式中选择向右走的位置,其余的步骤必须向上走。
没有任何一条路径比其他路径更好,因为所有路径使用相同数量的向上和向右步骤(都是 n
步)。
请在这篇维基百科文章(卡特兰数)中滚动,直到您看到下面的图片。答案就在那里。
因此,路径的总数是 注意:此公式仅适用于单调路径,不允许穿过对角线。如果您想允许穿过对角线,则需要进行一些更改。使用递归来实现这个目的 :) 希望这对你有所帮助。答案为(2n!)/(n!*n!)。
解释:
你需要从原点(0,0)到达(n,n)。
假设v代表向上1个单位,h代表向右1个单位。
所有的路径看起来像这样 - {vvvhhhvhhhvh.... , vvhhvvhhhvvv...,........)
,v和h分布在v的数量+ h的数量长度上,这必须是
n + n = 2n。
现在总路径数将是2n个位置中vs和hs的组合 这将等于
(n+n)!/(n!*n!)
因为v和h是重复的。 如果有其他单位(如a或b),它也会被包括在内。 我认为这不是一个卡特兰数,正如指出的那样。 问候, 软绵绵