第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000000)
输出走法的数量 Mod 10^9 + 7。
2 3
3
机器人走方格1 的代码贴进去竟然AC了。。当时就是乘法逆元做的。详情请见
http://blog.csdn.net/qq_33951440/article/details/52550688
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
long long mod=1e+9+7;
long long quick(long long n,long long m)
{
long long ans=1;
while(m)
{
if(m%2==1)
ans=ans*n%mod;
m/=2;
n*=n;
n%=mod;
}
return ans;
}
int main()
{
int n,m;
cin>>n>>m;
int mu=m+n-2;
long long ans_mu=1;
long long ans_zi=1;
for(int i=m+n-2;i>m-1;i--)
ans_zi=ans_zi*i%mod;
for(int j=1;j<=n-1;j++)
ans_mu=ans_mu*j%mod;
//cout<<ans_mu<<" "<<ans_zi<<endl;
long long tep=quick(ans_mu,mod-2);
cout<<ans_zi*tep%mod<<endl;
return 0;
}