您的位置:首页 > 其它

Noip 2011 计算系数 - 二项式定理

2017-10-31 19:51 375 查看
答案是a∗b∗Cnk

#include <algorithm>
#include <iostream>
#include <cstdio>
using namespace std;
#define debug(x) cerr << #x << "=" << x << endl;
const int MAXK = 1000 + 10;
const int MOD = 10007;
int a,b,k,n,m,c[1010][1010],ans;
int fpower(int numa, int powe) {
int tema = numa;
numa = 1;
while(powe) {
if(powe & 1) {
numa = (numa % MOD * tema % MOD)%MOD;
}
tema = (tema % MOD * tema % MOD) %  MOD;
powe >>= 1;
}
return numa;
}
int main() {
cin >> a >> b >> k >> n >> m;
c[1][1] = 1;
for(int i=1; i<=1001; i++) {
c[i][i] = 1;
c[i][1] = i;
}
for(int i=3; i<=1001; i++) {
for(int j=2; j<i; j++) {
c[i][j] = (c[i-1][j-1] % MOD + c[i-1][j] % MOD) % MOD;
}
}
a %= MOD;
b %= MOD;
a = fpower(a,n);
b = fpower(b,m);
ans = (a * b) % MOD;
ans = (ans  * c[k][min(n,m)]) % MOD;
cout << ans % MOD;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: