返回列表 發帖
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long DP[21][121] = {0};
  4. long long f(int n, int m)
  5. {
  6.     if(n > m || n  * 6 < m )
  7.         return 0;
  8.     if(n == 1)
  9.         return 1;
  10.     if(DP[n][m])
  11.         return DP[n][m];
  12.     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);

  13. }
  14. int main()
  15. {
  16.     int k;
  17.     cin>>k;
  18.     for(int i=0; i<k; i++)
  19.     {
  20.     int n, m;
  21.     cin >> n >> m;
  22.     cout<<f(n, m)<<endl;
  23.     }
  24.     return 0;

  25. }
複製代碼

TOP

返回列表