假设您有一个N个M单位长的金属丝网,由单位正方形和边缘的金属丝组成。 (所以有N + 1根平行线都是M长,并且垂直于这些,M + 1全N长)。
一只蚂蚁从这个网格的左下角开始(坐标(0,0)并在导线上爬行最短距离到达右上角(N,M)。多长时间了最短的路线。
有多少不同的最短路线? (也就是说,根据N和M找到一个公式)你可能想要尝试N和M的小值,看看你是否可以弄清楚(N,M)的数字与(N,M)的数量有什么关系? -1)和(N-1,M)
答案 0 :(得分:0)
最短路径为N + M个单位长,此类路线的数量为(n + m)Cn或(n + m)Cm,其中nCr为二项式系数
答案 1 :(得分:0)
要获得从最底部到最高点的最短路径,如果存在,则需要仅行进两条路径,即顶部和顶部。对。
因此,递归关系是: -
paths(N,M) = paths(N-1,M) + paths(N,M-1).
使用动态编程解决重现问题。
更确切地说: -
总路径等于二进制数,其中N + M位具有精确N 0's
和M 1's
,即(M+N) C N
(从M + N项中选择N项)