1 条题解

  • 1

    思路

    相信各位高中生都知道二项式定理:

    (x+y)k=i=0kCnixiyki(x+y)^k=\sum_{i=0}^{k} C^i_nx^iy^{k-i}

    我们把题目的数据代入就可以知道,答案是:

    Ckmanbmmod10007C^m_ka^nb^m \bmod 10007

    在题中,数据很小,所以不用快速幂。

    code

    #include <bits/stdc++.h>
    using namespace std;
    const int MAX=1005;
    const int mod=10007;
    int a,b,k,n,m;
    int f[MAX][MAX];
    int main() {
    	f[1][1]=1;
        cin>>a>>b>>k>>n>>m;
        for(int i=2;i<=k+1;i++){//杨辉三角算组合数
        	for(int j=1;j<=i;j++){
        		if(j==1||j==i)	f[i][j]=1;
        		else f[i][j]=(f[i-1][j-1]+f[i-1][j])%mod;
        	}
        }
        long long ansa=1,ansb=1;
        for(int i=0;i<n;i++)	ansa=(ansa*a)%mod;
        for(int i=0;i<m;i++)	ansb=(ansb*b)%mod;
        cout<<(f[k+1][m+1]*ansa*ansb)%mod;
    }
    
    • 1

    信息

    ID
    441
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者