Từ Trường THPT Chuyên Chu Văn An, Hà Nội
Thông tin
include <bits/stdc++.h>
using namespace std;
define ll long long
define endl '\n'
ll n,k,mod=1e9+7; ll gt[1000005],p[1000005]; ll pp(ll n , ll m , ll mod) { ll res=1; while(m>0) { if (m%2==1) { res=(resn)%mod; } n=(nn)%mod; m=m/2; } return res; } int main() { iosbase::syncwith_stdio (false); cin.tie (0) ; cout.tie (0); // freopen("CUUTRO.INP" , "r" , stdin); // freopen("CUUTRO.OUT" , "w" , stdout); gt[0]=1; for (ll i=1 ; i<=1000000 ; i++) { gt[i]=(gt[i-1]i)%mod; } ll x=pp(gt[1000000],mod-2,mod); p[1000000]=x; for (ll i=999999 ; i>=1 ; i--) { ll j=i+1; p[i]=(p[i+1]j)%mod; } int q; cin>>q; while(q--) { ll n,k; cin>>n>>k; cout<<((gt[n]p[k])%modp[n-k])%mod<<endl; } return 0; }