最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

【Day

IT圈 admin 7浏览 0评论

【Day

走方格的方案数

题目来源

牛客网:走方格的方案数

题目描述

请计算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;}
}

【Day

走方格的方案数

题目来源

牛客网:走方格的方案数

题目描述

请计算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;}
}
发布评论

评论列表 (0)

  1. 暂无评论