2016"百度之星" - 初赛(Astar Round2B)
Posted iEdson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016"百度之星" - 初赛(Astar Round2B)相关的知识,希望对你有一定的参考价值。
1003.杨辉三角+逆元
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <stack> #include <string> #include <queue> #include <vector> #include <algorithm> #include <ctime> using namespace std; //#define EdsonLin #ifdef EdsonLin #define debug(...) fprintf(stderr,__VA_ARGS__) #else #define debug(...) #endif // EdsonLin typedef long long ll; const ll inf = (1ll)<<60; const int MAXN = 2e5+10; const ll MOD = 1000000007; ll fac[MAXN],ifac[MAXN]; ll qp(ll base,ll n){ ll ans = 1; while(n){ if(n&1)ans = ans*base%MOD; n /= 2; base = base*base%MOD; } return ans; } void init(){ fac[0] = 1; for(int i=1;i<MAXN;i++) fac[i] = fac[i-1]*i%MOD; for(int i=0;i<MAXN;i++) ifac[i] = qp(fac[i],MOD-2); } int main(){ #ifdef EdsonLin //freopen("1.in","r",stdin); //freopen("1.out","w",stdout); int _time_jc = clock(); #endif // EdsonLin init(); int n,m; while(cin>>n>>m){ if(n<m)swap(n,m); n = m+n-4; m -= 2; ll ans = fac[n]%MOD*ifac[m]%MOD*ifac[n-m]%MOD; printf("%lld\\n",ans); } #ifdef EdsonLin debug("time: %d\\n",int(clock()-_time_jc)); #endif // EdsonLin return 0; }
以上是关于2016"百度之星" - 初赛(Astar Round2B)的主要内容,如果未能解决你的问题,请参考以下文章
2016"百度之星" - 初赛(Astar Round2B)
2016"百度之星" - 初赛(Astar Round2A)
2016"百度之星" - 初赛(Astar Round2B)
2016"百度之星" - 初赛(Astar Round2A)