思路
- 当行=0;列=0时只有一种走法
- 当行=0时,列的多少不会影响走法
- 当列=0时,行的多少不会影响走法
- 当行列都不为0时,dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
Answer
#include<stdio.h>
int main() {
int m, n;
scanf("%d %d", &n, &m);
int dp[n + 1][m + 1];
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= m; j++) {
if (i == 0 && j == 0) {
dp[i][j] = 1;
continue;
}
if (i == 0) {
dp[i][j] = dp[i][j - 1];
}
else if (j == 0) {
dp[i][j] = dp[i - 1][j];
} else {
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
}
}
}
printf("%d", dp[n][m]);
return 0;
}