【题目描述】
现给定一个多项式(ax+by)k,请求出多项式展开后xn*ym项的系数。
【输入描述】
输入五个整数a、b、k、n、m。
【输出描述】
输出一个整数,表示所求的系数对10007取模后的结果。
【样例输入】
1 1 3 1 2
【样例输出】
3
【数据范围及提示】
对于30%的数据,有0 ≤ k ≤ 10;
对于50%的数据,有a = 1,b = 1;
对于100%的数据,有0 ≤ k ≤ 1000,0 ≤ n,m ≤ k,且n + m = k,0 ≤ a,b ≤ 1000000。
源代码: #include<cstdio> int m,n,k,t1,t2,q=10007,ans,f[1001][1001]; int Qsqr(int x,int t) { int num=1; while (t) { if (t&1) num=num*x%q; x=x*x%q; t=t>>1; } return num; } int main() { scanf("%d%d%d%d%d",&t1,&t2,&k,&n,&m); ans=Qsqr(t1%q,n); //命!是不公平的命指使你到这儿来的! ans=ans*Qsqr(t2%q,m)%q; for (int a=2;a<=k+1;a++) //杨辉三角。 { f[a][1]=f[a][a]=1; for (int b=2;b<=m+1&&b<a;b++) f[a][b]=(f[a-1][b-1]+f[a-1][b])%q; } printf("%d",ans*f[k+1][m+1]%q); return 0; }