题目描述
给定一个n×m的方格阵,沿着方格的边线走,从左上角 (0,0)开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)一共有多少种不同的走法。
感受
这个题也可以逆向看,向(n,m)可以看成从(n,m)走向(0,0),逆向后只能向上向左走,当n或者m,任何一项等于0,他的路径只有一条,此时函数结束。因为有两种方向,所以一开始有两种可能性。
#include<iostream>
using namespace std;
int run(int n,int m){
if(n==0||m==0)return 1;
return run(n-1,m)+run(n,m-1);
}
int main()
{
int n,m;
cin>>n>>m;
cout<<run(n,m);
return 0;
}