A Plus B

PDF 视图

提交程序


分数: 4
时间限制: 2.0s
内存限制: 256M

作者:
题目类型
概述

本题要求依次计算并输出 N 道加法题的结果。核心解法是直接读取每对整数并输出它们的和。

分析
核心观察

每道加法题相互独立,直接求两数之和即可,无需预处理或复杂数据结构。

思路

对于每组输入的两个整数 a 和 b,结果就是 a+b。数据范围满足 |a|, |b| < 10^9,因此两个数的和小于 2 \times 10^9,使用 64 位整数存储结果可以完全避免溢出。

具体示例

样例第一组输入为 1 和 1,输出 2;第二组输入为 -1 和 0,输出 -1。

算法步骤
  1. 读入整数 N。
  2. 循环变量 i 从 1 到 N,每次执行:
    • 读入两个整数 a 和 b。
    • 计算 a+b 并输出。
复杂度分析

时间:O(N)

空间:O(1)

实现注意事项
  • 输入行数可达 100\,000,使用 cin 时需关闭与 scanf 的同步并解除绑定,Python 可使用 sys.stdin.buffer.read 提升性能。
  • 两个整数绝对值小于 10^9,其和小于 2 \times 10^9,使用 64 位整数存储更稳妥。
  • 每行结果必须按输入顺序输出。
源代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int N;
    cin >> N;

    long long a, b;
    while (N--) {
        cin >> a >> b;
        cout << a + b << '\n';
    }

    return 0;
}
import sys

def main():
    data = sys.stdin.buffer.read().split()
    if not data:
        return

    n = int(data[0])
    out = []
    idx = 1

    for _ in range(n):
        a = int(data[idx])
        b = int(data[idx + 1])
        idx += 2
        out.append(str(a + b))

    sys.stdout.write("\n".join(out))

if __name__ == "__main__":
    main()

评论

目前没有评论。