给定一个多项式(ax+by)k(ax+by)k,请求出多项式展开后xnymxnym项的系数。
输入格式
共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。
输出格式
输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。
数据范围
0≤n,m≤k≤1000 0≤n,m≤k≤1000,
n+m=kn+m=k,
0≤a,b≤1e6 0≤a,b≤1e6
输入样例:
1 1 3 1 2
输出样例:
3
1 #include <bits/stdc++.h> 2 using namespace std; 3 #define int long long 4 const int mod = 10007; 5 int a,b,k,n,m,ans; 6 int power(int a,int b,int p){ 7 int ans = 1 % p; 8 for(;b;b>>=1){ 9 if(b & 1) ans = ans * a % p; 10 a = a * a % p; 11 } 12 return ans; 13 } 14 signed main(){ 15 ios::sync_with_stdio(0); 16 cin >> a >> b >> k >> n >> m; 17 ans = power(a,n,mod) * power(b,m,mod) % mod; 18 for(int i = 1, j = k; i <= n; i++,j--) 19 ans = ans * j % mod * power(i,mod - 2,mod) % mod; 20 cout << ans; 21 return 0; 22 }