51nod 2级算法题-1119
来源:互联网 发布:vb取整函数函数 编辑:程序博客网 时间:2024/06/11 04:02
1119 机器人走方格 V2
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。
Input
第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000000)
Output
输出走法的数量 Mod 10^9 + 7。
Input示例
2 3
Output示例
3
组合数学求一个C(m,n),需要求一个逆元,用ex_gcd();
吧。
#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <queue>#include <stack>using namespace std;#define endl "\n"const int maxn=1000000+100;const int MOD=1e9+7;long long Fac(int x){ long long sum=1; for(int i=1;i<=x;i++){ sum=(sum*i)%MOD; } return sum;}void ex_gcd(long long a,long long b,long long &x,long long &y){ if(!b){ x=1; y=0; return; } ex_gcd(b,a%b,y,x); y-=x*(a/b);}long long C(int n,int m){ long long a=Fac(m)*Fac(n-m)%MOD; long long b=MOD; long long x; long long y; ex_gcd(a,b,x,y); return ((Fac(n)*x)%MOD+MOD)%MOD;}int main (){ int n,m; cin>>n>>m; cout<<C(n+m-2,n-1)<<endl; return 0;}
0 0
- 51nod 2级算法题-1119
- 51nod 2级算法题-1007
- 51nod 2级算法题-1010
- 51nod 2级算法题-1014
- 51nod 2级算法题-1050
- 51nod 2级算法题-1062
- 51nod 2级算法题-1092
- 51nod 2级算法题-1095
- 51nod 2级算法题-1126
- 51nod 2级算法题-1133
- 51nod 2级算法题-1279
- 51nod 2级算法题-1315
- 51nod 2级算法题-1428
- 【模拟】1432 独木舟【51nod】【难度:2级算法题】
- 51nod 1级算法题
- 51nod 3级算法题-1065
- 51nod 5级算法题
- 【贪心+优先队列】1428 活动安排问题【51nod】【难度:2级算法题】
- bzoj3306 树
- 开机自启动(整合)
- 化简方程
- 第十天2017/04/25(2、企业财富库:)
- Yii2.0 场景的简单使用
- 51nod 2级算法题-1119
- SSM框架本地测试没有问题,线上报错问题解决方案
- HQL(Hive query language)常用语句
- PostgreSQL递归查询
- Java实现LSTM和GRU做分类(以IRIS数据集为例)
- 说说Java中finally、final、finalize。
- WCF之调用模式
- response.write()方法将指定的字符创输出到html页面时遇到的问题
- 霍夫直线和圆检测