GR2012 @ 2024-08-10 15:16:55
给定一个 n×mn×m 的方格阵,沿着方格的边线走,从左上角 (0,0)(0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)(n,m) 一共有多少种不同的走法。 输入格式 共一行,包含两个整数 nn 和 mm。 输出格式 共一行,包含一个整数,表示走法数量。 数据范围 1≤n,m≤101≤n,m≤10 输入样例: 2 3 输出样例: 10
by GR2012 @ 2024-08-10 15:17:43
给定一个 n×mn×m 的方格阵,沿着方格的边线走,从左上角 (0,0)(0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)(n,m) 一共有多少种不同的走法。
输入格式 共一行,包含两个整数 nn 和 mm。
输出格式 共一行,包含一个整数,表示走法数量。
数据范围 1≤n,m≤101≤n,m≤10
输入样例:
2 3
输出样例:
10
by _LRH_ @ 2024-08-10 21:16:08
@GR2012 这应该是一道DP题发f[i][j] = f[i - 1][j] + f[i][j - 1]
by _LRH_ @ 2024-08-10 21:16:29
@GR2012 你要代码的话跟我说一下
by _LRH_ @ 2024-08-10 21:18:54
@GR2012 算了直接给你吧
#include <bits/stdc++.h>
using namespace std;
const long long N = 105;
long long f[N][N], n, m;
int main() {
cin >> n >> m;
f[1][1] = 1;
for (long long i = 1; i <= n; i++) {
for (long long j = 1; j <= m; j++) {
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
cout << f[n][m];
return 0;
}