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