1 条题解

  • 0
    @ 2026-1-29 22:52:13
    #include<bits/stdc++.h>
    using namespace std;
    
    int main() {
        // [1] 读取输入:总钱数n,大碗单价a,小碗单价b
        int n, a, b;
        cin >> n >> a >> b;
        
        // [2] sum-累加统计符合条件的购买方案数,初始化为0
        int sum = 0;
        
        // [3] 枚举大碗的购买数量i(i为偶数,且i≥2,剩余钱够买至少2个小碗)
        for (int i = 2; i * a < n; i += 2) {
            // 计算买i个大碗后剩余的钱
            int rem = n - a * i;
            // 计算可购买的小碗数量j
            int j = rem / b;
            
            // [4] 验证条件:剩余钱正好买整数个小碗、j为偶数且j≥2(两种碗都要买且数量为偶)
            if (rem % b == 0 && j % 2 == 0 && j >= 2) {
                // 输出当前方案:大碗数量 小碗数量
                cout << i << " " << j << endl;
                sum++; // 符合条件,方案数累加1
            }
        }
        
        return 0;
    }
    
    • 1

    信息

    ID
    1054
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者