0
点赞
收藏
分享

微信扫一扫

822. 走方格

言午栩 2022-02-01 阅读 67
蓝桥杯c++

给定一个 n×m的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。

输入格式

共一行,包含两个整数 n 和 m。

输出格式

共一行,包含一个整数,表示走法数量。

数据范围

1≤n,m≤10

输入样例:

2 3

输出样例:

10

动态规划:

代码1:

#include<iostream>

using namespace std;

const int N = 11;
int pane[N][N];
int n,m;

int main()
{
    cin >> n >> m;
    for(int i = 0 ; i <= n  ; i++)
    {
        for(int j = 0 ; j <= m  ; j++)
        {
            if(!i||!j) pane[i][j] = 1;
            else pane[i][j] = pane[i - 1][j] + pane[i][j - 1];
        }
    }
    cout << pane[n][m];
    return 0;
}

滚动数组优化:

代码2:

#include<iostream>

const int N = 11;
int q[N];
int n,m;

using namespace std;

int main()
{
    cin >> n >> m;
    for(int i = 0 ; i <= m ; i++)q[i] = 1;
    for (int i = 1; i <= n; i ++ )
    for (int j = 1; j <= m; j ++ )
        q[j] += q[j - 1];
        cout << q[m];
        return 0;
}

 

举报

相关推荐

0 条评论