给定一个 n×mn×m 的方格阵,沿着方格的边线走,从左上角 (0,0)(0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)(n,m) 一共有多少种不同的走法。
输入格式
共一行,包含两个整数 nn 和 mm。
输出格式
共一行,包含一个整数,表示走法数量。
数据范围
1≤n,m≤101≤n,m≤10
输入样例:
2 3
输出样例:
10
CODE(dfs)
#include <cstdio>
using namespace std;
int n, m;
int ans;
const short dx[2] = {1, 0};
const short dy[2] = {0, 1};
void dfs(short x, short y){
if(x > n || y > m)
return ;
if(x == n && y == m){
ans++;
return;
}
for(short i=0; i<2; i++)
dfs(x + dx[i], y + dy[i]);
}
int main(){
scanf("%d%d", &n, &m);
dfs(0, 0);
printf("%d", ans);
return 0;
}