[AcWing 822] 走方格

2023-02-12,


点击查看代码
#include<iostream>

using namespace std;
int n, m, ans = 0;
void dfs(int x, int y) {
if (x == n && y == m) ans ++;
else {
if (y < m) dfs(x, y + 1);
if (x < n) dfs(x + 1, y);
}
}
int main()
{
cin >> n >> m;
dfs(0, 0);
cout << ans;
return 0;
}

    x 和 y 分别表示方格上的坐标,当 x == n && y == m 时表示走到了方格的右下角,执行 ans ++,记录到达的次数
    y < m,表示没有走到 y 方向的边界,执行 dfs(x, y + 1) 进行递归搜索
    x < n,表示没有走到 x 方向的边界,执行 dfs(x + 1, y) 进行递归搜索

[AcWing 822] 走方格的相关教程结束。

《[AcWing 822] 走方格.doc》

下载本文的Word格式文档,以方便收藏与打印。