Advertisement
a53

iz

a53
Apr 17th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. const int N=1000001, MD=1000000007;
  5. ifstream fin("iz.in");
  6. ofstream fout("iz.out");
  7. int n, C[N], z, c, p, s1, s2;
  8. long long sol;
  9.  
  10. int power(int x, int y)
  11. {
  12. int res=1;
  13. for(;y;y>>=1)
  14. {
  15. if(y&1)
  16. {
  17. res=(1LL*res*x)%MD;
  18. }
  19. x=(1LL*x*x)%MD;
  20. }
  21. return res;
  22. }
  23.  
  24. int nCrModp(int nr, int k)
  25. {
  26. if(!nr || !k)
  27. return 1;
  28. return 1LL*C[nr]*power(1LL*C[k]*C[nr-k]%MD, MD-2)%MD;
  29. }
  30.  
  31. int main()
  32. {
  33. C[0]=1;
  34. C[1]=1;
  35. for(int i=2; i<N; ++i)
  36. C[i] = (1LL*C[i-1]*i)%MD;
  37. fin>>n;
  38. for(int i=1; i<=n; i++)
  39. {
  40. fin>>z>>c>>p;
  41. s1=nCrModp(c-1, z-1);
  42. s2=nCrModp(p-1, z-1);
  43. sol=(1LL * s1 * s2)%MD;
  44. fout<<sol<<" ";
  45. }
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement