站外提求助(壶关)

学术版

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;
}

|