1 solutions

  • 0
    @ 2025-11-5 16:41:47

    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

    Information

    ID
    17943
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By