1 条题解

  • 0
    @ 2026-6-19 10:30:48

    📝 题目大意

    给定两个 0~9 的整数 AABB(满足 A+B9A+B \leq 9),输出任意一个 0099 之间且不等于 A+BA+B 的整数。

    💡 解题思路

    1. 题目分析A+BA+B 的范围是 [0,9][0, 9],输出也必须在此范围内。只需避开 A+BA+B 这一个值即可,由于可选的数字有 1010 个而只排除 11 个,必然有解。
    2. 算法推导:先计算 sum = A + B。若 sum ≠ 0,直接输出 0;若 sum == 0,则输出 1(因为 1 ≠ 0)。这样无论 sum 取何值,输出的数都一定不等于 sum 且仍在 [0,9][0,9] 范围内。
    3. 边界与细节:唯一需要注意的边界是 sum == 0(即 A = B = 0),此时不能输出 0,需要改输出 1。由于 A+B9A+B \leq 91 永远不会越界。

    ⏱️ 复杂度分析

    • 时间复杂度O(1)O(1)
    • 空间复杂度O(1)O(1)

    💻 标准代码 (C++)

    #include <iostream>
    using namespace std;
    int main() {
        int A, B;
        cin >> A >> B;
        int sum = A + B;          // 计算 A+B
        if (sum != 0) {
            cout << "0" << endl;  // 大多数情况直接输出 0 即可
        } else {
            cout << "1" << endl;  // 若 sum 为 0,则输出 1(1 ≠ 0)
        }
        return 0;
    }
    
    • 1

    信息

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