给定一个n*m的方格阵,沿着方格的边线走,从左上角(0,0)开始,每次只能往右或者往下走一个单位距离,问走到右下角(n,m)一共有多少种不同的走法。
输入格式
共一行,包含两个整数n和m。
输出格式
共一行,包含一个整数,表示走法数量。
数据范围
1≤n,m≤10
输入样例:
2 3
输出样例:
10
#include<iostream>
using namespace std;
int n,m;
int cnt=0;//纪录方案个数
//画方格图,(x,y)从(0,0)点开始画线条路径 递归
void dfs(int x,int y)
{
if(x == n&& y == m) cnt++;
else
{
if(x<n)dfs(x+1,y);//x未到终点 递归下一层
if(y<m)dfs(x,y+1);//y未到终点 递归下一层
}
}
int main()
{
cin>>n>>m;
dfs(0,0);
cout<<cnt<<endl;
return 0;
}