比赛 |
练习12 |
评测结果 |
AAAAAAAAAA |
题目名称 |
计算系数 |
最终得分 |
100 |
用户昵称 |
hee |
运行时间 |
0.039 s |
代码语言 |
C++ |
内存使用 |
8.09 MiB |
提交时间 |
2017-06-29 23:23:49 |
显示代码纯文本
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define RG register
#define LL long long
#define maxx 1000001
#define dd double
#define MOD 10007
using namespace std;LL c[1010][1010];
LL qpow(LL a,LL b){
if(b==1)return (a+MOD)%MOD;
if(!b)return 1;
LL tmp=qpow(a,(b>>1));
tmp=((tmp*tmp)+MOD)%MOD;
if(b&1)tmp=(tmp*((a+MOD)%MOD)+MOD)%MOD;
return tmp;
}
int main(){
freopen("factor.in","r",stdin);
freopen("factor.out","w",stdout);
LL a,b,k,n,m;cin>>a>>b>>k>>n>>m;
for(int i=0;i<=k;++i){
c[i][0]=1;
for(int j=1;j<=i;++j)
c[i][j]=(c[i-1][j-1]+c[i-1][j]+MOD)%MOD;
}
LL kk=((((qpow(a,n)+MOD)%MOD)*((qpow(b,m)+MOD)%MOD))+MOD)%MOD;
kk=((kk*c[k][m])+MOD)%MOD;cout<<kk;
return 0;
}