822. 走方格 (递归搜索树 · 二维)

2023-09-04 14:02:10 浏览数 (1)

本文最后更新于 445 天前,其中的信息可能已经有所发展或是发生改变。

822. 走方格 (递归搜索树 · 二维)

原题链接 描述: 给定一个 n×m 的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。

输入格式 共一行,包含两个整数 n 和 m。

输出格式 共一行,包含一个整数,表示走法数量。

数据范围

1≤n,m≤10

输入样例:

代码语言:javascript复制
2 3

输出样例:

代码语言:javascript复制
10

分析

  • 每次到达路线拐点进行判断边界并选择
  • 满足条件计数加一

代码

代码语言:javascript复制
#include <bits/stdc  .h>
using namespace std;

int n,m,ans=0;  //定义边界n和m

void ff(int k,int l){  //递归遍历
    if(k==n&&l==m){  //如果同时抵达边界,则满足条件
        ans  ;
    }
    else if(k<=n&&l<=m){  //判断在边界内选择
        ff(k 1,l);  //向下边界移动1,右边界不动
        ff(k,l 1);  //向右边界移动1,下边界不动
    }
}

int main(){
    cin>>n>>m;  
    ff(0,0);  //从(0,0)位置开始遍历到(n,m)
    cout<<ans;
    return 0;
}

0 人点赞