1 条题解

  • 0
    @ 2025-12-5 12:25:26

    C++ :

    #include <iostream>
    using namespace std;
    
    int main() {
        long long x;  // 应对x最大1e9,逆推过程中数值无溢出
        cin >> x;
        long long s = x / 3;  // 最终每人的钱数
    
        // 逆推第三次分钱前(丙分之前)
        long long a2 = s / 2, b2 = s / 2;
        long long c2 = x - a2 - b2;
    
        // 逆推第二次分钱前(乙分之前)
        long long a1 = a2 / 2, c1 = c2 / 2;
        long long b1 = x - a1 - c1;
    
        // 逆推第一次分钱前(甲分之前,即原有钱数)
        long long b0 = b1 / 2, c0 = c1 / 2;
        long long a0 = x - b0 - c0;
    
        cout << a0 << " " << b0 << " " << c0 << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    114
    时间
    1000ms
    内存
    64MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者