[AcWing 822] 走方格

image


点击查看代码
#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;
}

  1. x 和 y 分别表示方格上的坐标,当 x == n && y == m 时表示走到了方格的右下角,执行 ans ++,记录到达的次数
  2. y < m,表示没有走到 y 方向的边界,执行 dfs(x, y + 1) 进行递归搜索
  3. x < n,表示没有走到 x 方向的边界,执行 dfs(x + 1, y) 进行递归搜索
posted @   wKingYu  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
欢迎阅读『[AcWing 822] 走方格』
点击右上角即可分享
微信分享提示