- #include<bits/stdc++.h>
- using namespace std;
- long long DP[11][61] = {0};
- int f(int n, int m)
- {
- if(n > m || n * 6 < m )
- return 0;
- if(n == 1)
- return 1;
- if(DP[n][m])
- return DP[n][m];
- return DP[n][m] = f(n-1, m-6) + f(n-1, m-5) + f(n-1, m-4) + f(n-1, m-3) + f(n-1, m-2) + f(n - 1, m - 1);
- }
- int main()
- {
- int n, m;
- cin >> n >> m;
- cout<<f(n, m);
- return 0;
- }
複製代碼 |