fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. long min(long a, long b) {
  6. return a<b ? a : b;
  7. }
  8.  
  9. unsigned long long binomialCoeff(long n, long k)
  10. {
  11. if(k==0) {
  12. return 1;
  13. }
  14. if(n==k) {
  15. return 1;
  16. }
  17. if(k==1) {
  18. return (long long)n;
  19. }
  20. unsigned long long C[n + 1][k + 1];
  21. long i, j;
  22. for (i = 0; i <= n; i++)
  23. {
  24. for (j = 0; j <= min(i, k); j++)
  25. {
  26.  
  27. if (j == 0 || j == i)
  28. C[i][j] = 1;
  29.  
  30. else
  31. C[i][j] = C[i - 1][j - 1] +
  32. C[i - 1][j];
  33. }
  34. }
  35.  
  36. return C[n][k];
  37. }
  38.  
  39. int main() {
  40. int t;
  41. scanf("%d",&t);
  42. while(t--) {
  43. long n,k;
  44. cin >> n >> k;
  45. cout << binomialCoeff(n-1,k-1) << endl;
  46. }
  47. return 0;
  48. }
Success #stdin #stdout 0s 4496KB
stdin
2
10 10
30 7
stdout
1
475020