从右下角的格子往左上角的格子递归:
到当前格子(n,m)的方法只有从左边(n-1,m)与上边(n,m-1),即到当前格子的总走法等于到(n-1,m)+(n,m-1)的走法;
递归出口为当前格子为上边界或者左边界时,只有一种走法。
#include <iostream>
#include<vector>
using namespace std;
int pathnum(int a,int b){
if(a==0||b==0){
return 1;
}
return pathnum(a-1,b)+pathnum(a,b-1);
}
int main() {
int n, m;
while (cin >> n >> m) {
cout<<pathnum(n,m)<<endl;
}
}

京公网安备 11010502036488号