- #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;
- }
複製代碼 |