参考了大佬们的解题。利用互斥事件和递归来解题。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int fun(int m, int n) {
    if (m < 0 || n < 0) return 0;
    else if (m == 1 || n == 1) return 1;
    else return fun(m, n - 1) + fun(m - n, n);
}

int main(){
    int m = 0, n = 0;
    cin >> m >> n;
    int res = fun(m, n);
    cout << res << endl;
    return 0;
}