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;
}
相关推荐
纪念 22912 分钟前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..15 分钟前
【C语言】函数
c语言·算法
zwc321043205518 分钟前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
重生之小比特32 分钟前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟
道尔柯南1 小时前
C++ 内存管理详解:从 malloc/free 到 new/delete
c++·面试
東隅已逝,桑榆非晚1 小时前
AVL数实现
c++·笔记·学习·算法
思想觉悟1 小时前
SEAndroid实战
android·linux·c++
驭渊的小故事1 小时前
LeetCode 算法题解:滑动窗口与数组合并的实战应用
算法·leetcode·职场和发展
.YM.Z1 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
思想觉悟1 小时前
Aosp开发磨刀石之ADB速查
android·c++