题目描述
给定一个n*m的方格阵,沿着方格的边线走,从左上角(0,0)开始,每次只能往右或者往下走一个单位距离,问走到右下角(n,m)一共有多少种不同的走法。
输入格式
共一行,包含两个整数n和m。
输出格式
共一行,包含一个整数,表示走法数量。
数据范围
1≤n,m≤10
样例
输入样例:
2 3
输出样例:
10
算法1
(暴力枚举) $O(n^2)$
如此小的数据,直接暴力搜索
C++ 代码
#include <iostream>
using namespace std;
int sum=0,n,m;
void walk(int x,int y)
{
if(x==n&&y==m) sum++;
if(x!=n) walk(x+1,y);
if(y!=m) walk(x,y+1);
}
int main()
{
cin>>n>>m;
walk(0,0);
cout<<sum;
return 0;
}