分析:
开始一直WA,看了半天看不出来,现在还是想不通
ans=ans*jc(n)%Mod;ans=ans*Pow(jc(m),Mod-2)%Mod;ans=ans*Pow(jc(n-m),Mod-2)%Mod;
和
ans*=jc(n)%Mod;ans*=Pow(jc(m),Mod-2)%Mod; ans*=Pow(jc(n-m),Mod-2)%Mod;
为什么上面一个对了,下面一个就不对。。。
参考:这里写链接内容
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
const ll Mod=1e9+7;ll Pow(ll a,ll b){ll ans=1;while(b){if(b%2==1){ans=ans*a%Mod;}a=a*a%Mod;b=b/2;}return ans;
}
ll jc(ll x){ll t=1;for(ll i=1;i<=x;i++){t=t*i%Mod;}t=t%Mod;return t;
}ll C(ll n,ll m){ll ans=1;ans=ans*jc(n)%Mod;ans=ans*Pow(jc(m),Mod-2)%Mod;ans=ans*Pow(jc(n-m),Mod-2)%Mod;return ans;
}int main(){ios::sync_with_stdio(false);ll a,b;cin>>a>>b;//cout<<jc(4)<<endl;//cout<<Pow(2,3)<<endl;//组合数cout<<C(a+b-2,b-1)<<endl;return 0;
}