Advertisement
Kaidul

uva - 369

Dec 30th, 2012
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1. #include <algorithm>
  2. #include <bitset>
  3. #include <cctype>
  4. #include <cmath>
  5. #include <complex>
  6. #include <cstdio>
  7. #include <cstdlib>
  8. #include <cstring>
  9. #include <ctime>
  10. #include <deque>
  11. #include <fstream>
  12. #include <iostream>
  13. #include <list>
  14. #include <climits>
  15. #include <map>
  16. #include <memory>
  17. #include <queue>
  18. #include <set>
  19. #include <sstream>
  20. #include <stack>
  21. #include <string>
  22. #include <utility>
  23. #include <vector>
  24.  
  25. using namespace std;
  26.  
  27. #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
  28. #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
  29. #define RFOR(i,a,b) for(__typeof(b) i=(a); i>(b); i--)
  30. typedef unsigned long long ui64;
  31.  
  32. #define Max 100
  33. ui64 dp[Max+1][Max+1];
  34.  
  35. void _100C100() {
  36.     dp[1][0] = 1;
  37.     dp[1][1] = 1;
  38.  
  39.     FOR(i, 2, Max) {
  40.         dp[i][0] = 1;
  41.         for(int j = 1; j <= i; j++) {
  42.             // nCr = (n-1)C(r-1) + (n-1)Cr
  43.             dp[i][j] = dp[i-1][j-1] + dp[i-1][j];
  44.         }
  45.     }
  46. }
  47.  
  48. int main() {
  49.     int N, M;
  50.     _100C100();
  51.     while(cin>>N>>M) {
  52.         if(!N && !M) break;
  53.         printf("%d things taken %d at a time is %llu exactly.\n",N,M,dp[N][M]);
  54.     }
  55.     return 0;
  56. }
  57.  
  58.  
  59. /*
  60. int main()
  61. {
  62.     //READ("input.txt");
  63.     int N, M;
  64.     vector <int> v;
  65.     while(cin>>N>>M) {
  66.         RFOR(i, N, (N-M)) v.pb(i);
  67.         FOR(i, 2, M) {
  68.             //
  69.  
  70.             //
  71.         }
  72.  
  73.     }
  74.     return 0;
  75. }
  76.  
  77. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement