fork download
  1. #include <stdio.h>
  2.  
  3. long long int mem[31][31];
  4. long long int Combination(int n, int k){
  5. if (n == k) return 1;
  6. if (k == 1) return n;
  7. long long int& ret = mem[n][k];
  8. if(ret != -1) return ret;
  9. return ret = Combination(n-1, k-1) + Combination(n-1, k);
  10. }
  11.  
  12. void reset(){
  13.  
  14. for(int i = 0; i < 31; i++){
  15.  
  16. for(int j = 0; j < 31; j++){
  17. mem[i][j] = -1;
  18. }
  19. }
  20. }
  21. int main() {
  22. int n, m, T;
  23. long long int ans;
  24. scanf("%d", &T);
  25. while(T--){
  26. reset();
  27. scanf("%d%d", &n, &m);
  28.  
  29. ans = Combination(m,n);
  30.  
  31. printf("%lld\n", ans);
  32.  
  33. }
  34.  
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 15232KB
stdin
3
2 2
1 5
13 29
stdout
1
5
67863915