编程练习

编程练习-2022-05-27-Andy

2022-05-27  本文已影响0人  nase_luobeng

题目描述

请想象在一个棋盘格上,小明站在第1行第1列的位置(左上角),罗马在第n行第m列的位置(右下角)。小明每一步只可以向右走一格或者向下走一格。输入n和m(1<=m,n<=20),输出小明有多少种方法可以走到罗马。

输入格式

输入文件rome.in
输入n和m(1<=m,n<=20)

样例数据

输入样例#1:
4 3
输出样例#1:
10

输入样例#2:

输出样例#2:

标签

AC代码

#include <bits/stdc++.h>
using namespace std;
int a[100][100];
int main()
{
    freopen("rome.in","r",stdin);
    freopen("rome.out","w",stdout);
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){a[i][1]=1;}
    for(int i=1;i<=m;i++){a[1][i]=1;}
    for(int i=2;i<=n;i++){
        for(int j=2;j<=m;j++){
            a[i][j]=a[i-1][j]+a[i][j-1];
        }
    }
    cout<<a[n][m];
    return 0;
}

上一篇下一篇

猜你喜欢

热点阅读