Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
98616 | CSYZHeYixuan | ssh | C++ | 运行超时 | 30 | 1000 MS | 4188 KB | 1029 | 2023-08-16 12:08:44 |
#include<bits/stdc++.h> using namespace std; #define int long long const int MX=1e5+100,mod=1e9+7; int n,k;bool ob; struct ask{ int n,k; }in[MX]; int fast_pow(int x,int y){ int a=1; while(y){ if(y&1) a=a*x%mod; x=x*x%mod;y/=2; } return a; } int jc[MX],inv[MX],s[MX]; int C(int n,int m){ return jc[n]*inv[m]%mod*inv[n-m]%mod; } signed main(){ // freopen("ssh.in","r",stdin); // freopen("ssh.out","w",stdout); ios::sync_with_stdio(0); jc[0]=1;inv[0]=1; for(int i=1;i<=1e5;i++){ jc[i]=jc[i-1]*i%mod; inv[i]=fast_pow(jc[i],mod-2); } int t; cin>>t; for(int i=1;i<=t;i++){ cin>>in[i].n>>in[i].k; if(in[i].n!=in[i-1].n&&i>=2) ob=1; } if(!ob){ int n=in[1].n; s[0]=C(n,0); for(int i=1;i<=n;i++) s[i]=(s[i-1]+C(n,i))%mod; for(int i=1;i<=t;i++){ int k=in[i].k; cout<<s[k]<<'\n'; } return 0; } for(int i=1;i<=t;i++){ int n=in[i].n,k=in[i].k,ans=0; for(int i=0;i<=k;i++){ ans=(ans+C(n,i))%mod; } cout<<ans<<'\n'; } return 0; }