基准时间限制:1 秒 空间限制:131072 KB 分值: 0  难度:基础题
 收藏
 关注
M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。
Input
第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000)
Output
输出走法的数量。
Input示例
2 3
Output示例
3

题解:似乎是找规律的:

1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20

#include<bits/stdc++.h>  
#define ll long long int  
#define MOD 1000000007
using namespace std;  
ll a[1000][1000];
int main()  
{  
	for(int i=0;i<1000;i++)
	a[0][i]=1;
	for(int i=0;i<1000;i++)
	a[i][0]=1;
	for(int i=1;i<1000;i++)
	{
		for(int j=1;j<1000;j++)
		{
			a[i][j]=(a[i-1][j]+a[i][j-1])%MOD;
		}
	}
	ll m,n;
	scanf("%lld%lld",&m,&n);
	printf("%lld",a[m-1][n-1]);
    return 0;  
}