HJ91 走方格的方案数

知识点动态规划基础数学

描述

对于给定的由 n+1条横线和 m+1 条竖线组成的网格,共相交形成 n×m 个格点。

现在,你从网格的左上角格点出发,只能沿着网格线向右或向下走,求解走到右下角格点的不同方案数。

输入描述:

在一行上输入两个整数 n,m(1≦n,m≦8),代表网格的行数和列数。

输出描述:

输出一个整数,代表不同的行走方案数。

示例1

输入:

复制代码
2 2

输出:

复制代码
6

说明:

在这个样例中,所绘出的网格图如下图所示。

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;

int recursion(int i, int j, int m, int n){ //递归计算方案数
    if(n == i || m == j) //到边界只有一种走法
        return 1;
    return recursion(i + 1, j, m, n) + recursion(i, j + 1, m, n); //进入子问题
}
int main(){
    int m, n;
    while(cin >> n >> m){
        cout << recursion(0, 0, m, n) << endl;
    }
    return 0;
}
相关推荐
colinu13 分钟前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
动词ing1 小时前
【题目练习】算法 组合总和||
算法
wuminyu1 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan1 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
专业程序开发源1 小时前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
liulilittle1 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
Logic1011 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
yi0112 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
无忧.芙桃2 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
沫璃染墨2 小时前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构