计蒜课 蒜头君走迷宫

蒜头君需要从一个n行m列的迷宫左上角走到右下角,每次只能向下或向右移动。面对可能的大规模数据,使用递归或数组会遇到超时或内存不足的问题。通过分析,我们可以发现走法总数等于组合数C(n+m-2, n-1)。本文将介绍如何运用动态规划思想解决这一问题,并提供简化后的C++代码实现。" 113738999,357663,Python TDX 接口API详解,"['Python', '金融数据', '数据分析', '接口开发', 'pytdx']
摘要由CSDN通过智能技术生成

问题

蒜头君从一个 n 行 m 列的迷宫的左上角走到右下角,蒜头君每次只能向下或者向右走一步,蒜头君想知道他有多少种走法。

输入格式

输入 2 个整数 n(1≤n≤3),m(2≤m≤10​^9​)。

输出格式

输出方案数。

样例输入1

2 3

样例输出1

3

样例输入2

3 3

样例输出2

6

思路

在看到m的数据达到10^9的时候,可以发现用dfs做肯定超时,用数组存数据肯定内存不够,因此我们得想别的方法解决这个问题,此题我是用排列组合做的,我们可以发现无论怎么走到终点,总步数是一致的,既向下走 n-1 步 ,向右走 m-1 步,一共走了 n+m-2 步,因此样例1 输入2 3的方案数为Cn+m-2(n-1)也就是C3(1)=3,因为虽然是 2 , 3 个格子,但是每个方向只需要走 1 , 2 步,总共为3
我又发现 C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值