网格走法题目

来源:

牛客网--网格走法数目

题目描述:

有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。

输入:

输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。

输出:

输出包括一行,为走法的数目。

输入实例:

3 2

输出实例:

10

讲解:

实例

如上图中,到达右下角的顶点必须经过两个红点之一,其结果就等于上述两个红点的结果,即a[i][j]=a[i-1][j] + a[i][j-1],其中,a[i][1]=a[1][j]=1。

代码:

#include <iostream>
using namespace std;
int main()
{
    int a[11][11],m,n;
    cin>>m>>n;
    for(int i = 1; i <= m; i++)
    {
        a[i][0] = 1;
    }
    for(int j = 1; j <= n; j++)
    {
        a[0][j] = 1;
    }
    for(int i = 1; i <= m; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            a[i][j] = a[i - 1][j] + a[i][j - 1];
        }
    }
    cout<<a[m][n]<<endl;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容