51nod_1119:机器人走方格 V2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod_1119:机器人走方格 V2相关的知识,希望对你有一定的参考价值。
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1119
转化成杨辉三角就好辣@[email protected]
#include<bits/stdc++.h> using namespace std; typedef long long LL; const LL mod=1e9+7; const LL M=2e6; LL fac[M+5]; //阶乘 LL inv_of_fac[M+5]; //阶乘的逆元 LL qpow(LL x,LL n) { LL ret=1; for(; n; n>>=1) { if(n&1) ret=ret*x%mod; x=x*x%mod; } return ret; } void init() { fac[0]=1; for(int i=1; i<=M; i++) fac[i]=fac[i-1]*i%mod; inv_of_fac[M]=qpow(fac[M],mod-2); for(int i=M-1; i>=0; i--) inv_of_fac[i]=inv_of_fac[i+1]*(i+1)%mod; } LL C(LL a,LL b) { if(b<0||a<b) return 0; return fac[a]*inv_of_fac[b]%mod*inv_of_fac[a-b]%mod; } int main() { init(); int n,m; while(cin>>n>>m) { if(n<m) swap(n,m); cout<<C(n+m-2,m-1)<<endl; } }
以上是关于51nod_1119:机器人走方格 V2的主要内容,如果未能解决你的问题,请参考以下文章
51Nod 1119 机器人走方格 V2 组合数学 费马小定理