#include <iostream> #include <string> #include <cmath> #include <algorithm> #include <stack> #include <vector> #include <set> #include <queue> using namespace std; int apple(int m, int n) { if (m == 0 || n == 1)//没有苹果的话就是一种,一个盘子也只有一种 return 1; if (n > m)//盘子多 return apple(m, m); else//盘子少 return apple(m - n, n) + apple(m, n - 1); } int main() { int i, j, flag, k; int n, m, t; string s; cin >> t; while (t--) { cin>>m>>n; cout<<apple(m, n)<<endl; } return 0; } |
Double click to view unformatted code.