您的位置:首页 > 其它

codevs 1137 计算系数

2016-08-09 22:47 281 查看
什么时候NOIP也要出二项式定理了?

二项式定理+逆元。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mod 10007
using namespace std;
long long a,b,k,n,m,table[1050];
void get_table()
{
table[1]=1;
for (long long i=2;i<=k;i++)
table[i]=(table[i-1]*i)%mod;
return;
}
long long f_pow(long long x,long long y)
{
long long base=x,ret=1;
while (y)
{
if (y&1) ret=(ret*base)%mod;
base=(base*base)%mod;
y>>=1;
}
return ret%mod;
}
int main()
{
scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m);
if (k==0) {printf("1\n");return 0;}
long long ans1,ans2,ans3;
get_table();
ans1=table[k]*f_pow(table
,mod-2)%mod;
ans1=ans1*f_pow(table[k-n],mod-2)%mod;
ans2=f_pow(a,n)%mod;ans3=f_pow(b,m)%mod;
printf("%lld\n",((ans1*ans2)%mod*ans3)%mod);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: