【NOIP2018模拟赛2018.8.28】video
程序员文章站
2024-02-11 13:20:22
...
题目
题解
–这道题是大水水题目呢,就是一个简单的组合数,简单粗暴
代码
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int MAXN=1;
const int mod=1000000007;
int n,m;
long long Pow(long long a){
long long ans=1;
int b=mod-2;
while(b){
if(b&1)
ans=(ans*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return ans%mod;
}
long long C(int r,int k){
long long fz=1,fm=1;
if(r>k/2)
r=k-r;
for(int i=k;i>=k-r+1;i--)
fz=(fz*1ll*i)%mod;
for(int i=1;i<=r;i++)
fm=(fm*1ll*i)%mod;
return fz*Pow(fm)%mod;
}
int main(){
// freopen("video.in","r",stdin);
// freopen("video.out","w",stdout);
cin>>n>>m;
cout<<C(m,n);
return 0;
}