【Day_09】走方格的方案数

走方格的方案数

题目来源

牛客网:走方格的方案数

题目描述

请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。

注:沿棋盘格之间的边缘线行走

数据范围: 1≤n,m≤8

输入描述

输入两个正整数n和m,用空格隔开。(1≤n,m≤8)

输出描述

输出一行结果

示例1

输入

2 2

输出

6

思路分析

  • 用递归的思想进行分析,走到某一个格子的方法等于走到这个点的前面两个点的方式相加之和,如图
    在这里插入图片描述

代码展示

#include <iostream>
#include <vector>
using namespace std;

int Step(int x,int y)
{
    //x为0或者y为0表示走到表格的边界,此时只有一种走法
    if(x==0||y==0)
    {
        return 1;
    }
    return(Step(x-1,y)+Step(x,y-1));
}

int main() {
    int m,n;
    while(cin>>m>>n)
    {
        cout<<Step(n,m)<<endl;
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值