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;
}
相关推荐
俩娃妈教编程2 小时前
2024 年 09 月 二级真题(2)--小杨的矩阵
c++·算法·gesp真题
航哥的女人2 小时前
Socket函数详解
c++·tcp/ip
浅念-2 小时前
C++ STL vector
java·开发语言·c++·经验分享·笔记·学习·算法
小雨中_2 小时前
2.8 策略梯度(Policy Gradient)算法 与 Actor-critic算法
人工智能·python·深度学习·算法·机器学习
程序员爱德华2 小时前
C++训练营学习大纲
c++
m0_531237172 小时前
C语言-if/else,switch/case
c语言·数据结构·算法
Hag_202 小时前
LeetCode Hot100 239.滑动窗口最大值
数据结构·算法·leetcode
漂流瓶jz2 小时前
UVA-1604 立体八数码问题 题解答案代码 算法竞赛入门经典第二版
算法·ida·深度优先·图论·dfs·bfs·迭代加深搜索
m0_531237172 小时前
C语言-while循环,continue/break,getchar()/putchar()
java·c语言·算法