3390 - 计算系数
时间限制 : 1 秒
内存限制 : 128 MB
给定一个多项式 (ax+by)^k ,请求出多项式展开后 x^ny^m 项的系数。
题目输入
共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。
题目输出
输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。
输入/输出样例
输入格式
1 1 3 1 2
输出格式
3
C++解答
//AUTHOR::STDAFX //ALGORITHM::Math #define Mod 10007L #include <cstdio> using namespace std; typedef long long ll; int a,b,k,n,m; ll c[1010][1010]; ll fx(ll a,int b) { ll ans=1; a%=Mod; while(b>0){ if(b&1){ ans=(ans*a)%Mod; } b>>=1; a=(a*a)%Mod; } return ans%Mod; } int main(){ scanf("%d%d%d%d%d",&a,&b,&k,&n,&m); a%=Mod;b%=Mod; c[1][1]=c[1][2]=1; for(int i=2;i<=k;i++){ c[i][1]=1; for(int j=2;j<=m+1;j++){ c[i][j]=(c[i-1][j]+c[i-1][j-1])%Mod; } } c[k][m+1]*=fx(a,n); c[k][m+1]%=Mod; c[k][m+1]*=fx(b,m); c[k][m+1]%=Mod; printf("%d",c[k][m+1]); //fclose(stdin); //fclose(stdout); return 0; }