Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define dd double
- #define pb push_back
- #define mp make_pair
- #define X first
- #define Y second
- #define forn( i, n ) for( ll i = 0; i < (ll) (n); i ++ )
- #define endl '\n'
- ll n, k;
- ll dp[44][44];
- int main( void ) {
- cin >> n >> k;
- dp[2][1] = 1;
- forn( i, 44 ) {
- dp[i][0] = 1;
- }
- for( ll i = 3; i <= n; i ++ ) {
- for( ll j = 1; j <= k; j ++ ) {
- for( ll x = 0; x < i; x ++ ) {
- for( ll ii = x + 1; ii < i; ii ++ ) {
- for( ll jj = 0; jj < j; jj ++ ) {
- //cout << i << " " << j << endl;
- //cout << ii - 1 - x << " " << jj << endl;
- //cout << i - 1 - ii << " " << j - 1 - jj << endl << endl;
- dp[i][j] += dp[ii - x - 1][jj] * dp[i - 1 - ii][j - 1 - jj];
- }
- }
- }
- }
- }
- cout << dp[n][k] << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement