本文主要是介绍hannnnah_j’s Biological Test HDU - 5894,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
点击打开链接
挡板法求解 参考博客点击打开链接
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define M 1000000007ll quickpow(ll a,ll b)
{ll ans;ans=1;while(b>0){if(b%2==1){ans=(ans*a)%M;}a=(a*a)%M;b/=2;}return ans;
}ll getc(ll n,ll k)
{ll ans,sum1,sum2,i,j;sum1=1,sum2=1,i=n,j=1;while(k--){sum1=(sum1*i)%M;sum2=(sum2*j)%M;i--,j++;}ans=(sum1*quickpow(sum2,M-2))%M;return ans;
}int main()
{ll ans;int t,n,m,k;scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&k);if(m==1){printf("%d\n",n);continue;}if(n<m+m*k){printf("0\n");continue;}ans=(((getc(n-m*k-1,m-1)*n)%M)*(quickpow(m,M-2)%M))%M;printf("%lld\n",ans);}return 0;
}
这篇关于hannnnah_j’s Biological Test HDU - 5894的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!