Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <bitset>
- #include <cctype>
- #include <cmath>
- #include <complex>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <ctime>
- #include <deque>
- #include <fstream>
- #include <iostream>
- #include <list>
- #include <climits>
- #include <map>
- #include <memory>
- #include <queue>
- #include <set>
- #include <sstream>
- #include <stack>
- #include <string>
- #include <utility>
- #include <vector>
- using namespace std;
- #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
- #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
- #define RFOR(i,a,b) for(__typeof(b) i=(a); i>(b); i--)
- typedef unsigned long long ui64;
- #define Max 100
- ui64 dp[Max+1][Max+1];
- void _100C100() {
- dp[1][0] = 1;
- dp[1][1] = 1;
- FOR(i, 2, Max) {
- dp[i][0] = 1;
- for(int j = 1; j <= i; j++) {
- // nCr = (n-1)C(r-1) + (n-1)Cr
- dp[i][j] = dp[i-1][j-1] + dp[i-1][j];
- }
- }
- }
- int main() {
- int N, M;
- _100C100();
- while(cin>>N>>M) {
- if(!N && !M) break;
- printf("%d things taken %d at a time is %llu exactly.\n",N,M,dp[N][M]);
- }
- return 0;
- }
- /*
- int main()
- {
- //READ("input.txt");
- int N, M;
- vector <int> v;
- while(cin>>N>>M) {
- RFOR(i, N, (N-M)) v.pb(i);
- FOR(i, 2, M) {
- //
- //
- }
- }
- return 0;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement