题目描述
请想象在一个棋盘格上,小明站在第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;
}