1 条题解

  • 1
    @ 2022-8-31 10:01:07
    #include <bits/stdc++.h>
    
    using namespace std;
    
    const double eps = 1e-10;
    
    int n, m;
    int ans;
    double need;
    
    void dfs(int st, double now, int last) {
        if(now - need > eps) return ;
        if(st == n) {
            if(fabs(now - need) < eps) ++ans;
            return ;
        }
        for(int i = last + 1; i <= m; i++) {
            dfs(st + 1, now + 1.0 / i, i);
        }
    }
    
    int main() {
        int x, y;
        cin >> n >> m >> x >> y;
        need = 1.0 * x / y;
        dfs(0, 0.0, 0);
        cout << ans << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    1224
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    4
    已通过
    1
    上传者