1 条题解

  • 0
    @ 2025-9-10 0:06:27

    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;
    }
    

    Pascal :

    program factor;
    var
      f:array[1..1005,0..1005]of longint;
      ans,a,b,k,n,m,i,j:longint;
    begin
      readln(a,b,k,n,m);
      a:=a mod 10007;
      b:=b mod 10007;
      f[1,1]:=1;
      for i:=2 to k+1 do
        for j:=1 to i do
          f[i,j]:=(f[i-1,j]+f[i-1,j-1])mod 10007;
      ans:=f[k+1,m+1];
      for i:=1 to n do
        ans:=(ans*a)mod 10007;
      for i:=1 to m do
        ans:=(ans*b)mod 10007;
      writeln(ans);
    end.
    
    
    • 1

    信息

    ID
    2653
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者