机器人走方格
M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。
Input第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000)
Output输出走法的数量。
Sample Input
2 3
代码如下:
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queue> using namespace std; long long int dp[1003][1003]; int n,m; int main() { memset(dp,0,sizeof(dp)); dp[1][1]=1; for(int i=1;i<=1000;i++) { for(int j=1;j<=1000;j++) { if(i==1 && j==1) continue; dp[i][j] = (dp[i][j-1]+dp[i-1][j])%1000000007; } } while(scanf("%d%d",&n,&m)!=EOF) { printf("%lld\n",dp[n][m]); } return 0; }