题解 | #走方格的方案数#
走方格的方案数
https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b
#include <stdio.h> #include <string.h> int fuc(int m,int n) { if(m==0||n==0) return 1; else return fuc(m,n-1)+ fuc(m-1,n); } int main() { int m,n; scanf("%d %d",&m,&n); printf("%d\n", fuc(m,n)); return 0; }
在方格中,可向两个方向走,即n-1或m-1:
a:当m=1或n=1时,选择向一个方向后,n或者m为零,此时路线唯一,故递归终止条件为m==0或者n==0;
b:当m或n大于零时,则总路线数为fuc(m,n-1)+fuc(m-1,n);