1 solutions

  • 0
    @ 2025-11-27 11:59:57

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    const int mod=1e9+7;
    int t,n,m,k;
    int C[1003][1003],mi[2003];
    int main(){
        for(int i=0;i<=1000;i++)
            for(int j=0;j<=i;j++)
                C[i][j]=(j==0 || j==i?1:C[i-1][j]+C[i-1][j-1]),C[i][j]%=mod;
        mi[0]=1;
        for(int i=1;i<=2000;i++)
            mi[i]=mi[i-1]*2%mod;
        scanf("%d",&t);
        while(t--){
            scanf("%d%d%d",&n,&m,&k);
            if(m-2*k<0 || m-2*k>n-k)
                printf("0\n");
            else
                printf("%lld\n",(1LL*C[n][k]*mi[m-2*k]%mod)*C[n-k][m-2*k]%mod);
        }
        return 0;
    }
    
    
    • 1

    Information

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