top1编程
← 返回题目
题解

【入门】桐桐去购物

1 条题解

  • 0
    @ 2026-7-30 0:50:02

    解题思路

    按照题目要求直接计算。代码中使用简单的循环、判断和数组,把每一步写出来,方便理解。

    参考代码

    // 读取题目给出的数据。
    // 按照题意完成计算。
    // 输出最终答案。
    #include <iostream>
    using namespace std;
    int main() {
        int n, m;
        cin >> n >> m;
        for (int a = 0; a <= m; a++) {
            int t = 3 * n - m - 14 * a;
            if (t < 0 || t % 8 != 0) continue;
            int b = t / 8;
            int c = m - a - b;
            if (b >= 0 && c >= 0) cout << a << " " << b << " " << c << endl;
        }
        return 0;
    }
    

    复杂度

    代码只使用了题目需要的循环、判断和数组。若有 n 次循环,时间复杂度为 O(n);只使用固定数量变量时,空间复杂度为 O(1)。

    • 1