给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数。
共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。
输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。
1 1 3 1 2
3
数据范围
对于 30%的数据,有0≤k≤10;
对于 50%的数据,有a = 1,b = 1;
对于 100%的数据,有0≤k≤1,000,0≤n, m≤k,且n + m = k,0≤a,b≤1,000,000。
有参考程序:
#include <stdio.h>
#include <stdlib.h>
#define mod 10007
int a,b,n,m,k,i,j,f[1010][1010];
int main()
{
scanf("%d %d %d %d %d",&a,&b,&k,&n,&m);
a%=mod,b%=mod;
f[1][0]=b,f[1][1]=a;
for(i=2;i<=k;i++)
for(j=0;j<=i&&j<=n;j++)
{
f[i][j]=f[i-1][j]*b%mod;
if(j)
f[i][j]=(f[i][j]+f[i-1][j-1]*a)%mod;
}
printf("%d\n",f[k][n]);
return 0;
}