百度之星

虽然没报名(以为军训会冲掉,谁知军训时允许我们来机房写题,于是和几个报了名的同学一起打)

A Chess

  • 组合( Cminmax
#include 
#include 
#define Ha 1000000007
using namespace std;
long long a,b,N,M,T;

long long ha(int x,int y){
    long long ans=1,z=x;
    while (y){
        if (y&1) ans=(ans*z)%Ha;
        z=(z*z)%Ha;
        y>>=1;
    }
    return ans;
}

long long C(long long p,long long k){
    long long ret=1;
    for (long long i=p,j=0; jfor (long long i=2; i<=k; i++) ret=(ret*ha(i,Ha-2))%Ha;
    return ret;
}

int main(){
    scanf("%lld",&T);
    while (T--){
        scanf("%lld%lld",&N,&M);
        a=min(N,M);
        b=max(N,M);
        printf("%lld\n",C(b,a));
    }
}

B

你可能感兴趣的:(题目,其它)