(新版)SJTU-OJ-11000. 【原1000】A+B Problem

题目描述

author: Online Judge 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/1000

Description

作为所有 Online Judge 的传统题目,你只需读两个整数,输出即可,保证输入的数绝对值不超过1000。

Input Format

一行,两个空格隔开的整数A,B。

Output Format

一个数A+B。

Sample Input

3 2

Sample Output

5

输入格式

详见题目描述

输出格式

详见题目描述

样例输入

详见题目描述

样例输出

详见题目描述

数据范围

详见题目描述

题目解答

       作为所有的OJ的一个老题目不得不说这个题目确实有存在的意义,甚至可以说成是梦开始的地方。 没有什么特别要说的,想说的内容还是要引申一下
       不如看一看另外一道 A+B 的题目啦【传送门】。相信这个题目一定比那一个题目更加有意义,虽然答案就在题目里面。但是认真读完一遍一定是会有收获的,题面也是题解的好题目,可以看一下下附录的题目,不想看附录的直接看下面的总结也可:

题目总结

  • cout << endl; 是一个贼费时间的操作,建议修改为 cout << a + b << '\n';
  • cin >> acout << a 都是贼费时间的操作,建议修改为 scanf("%d", &a);printf("%d", a);
  • 以上两条都是废话,我们的 OJ 不会因为这个原因让你过不了这个题目,到此为止。

附录题目描述

输入 A , B A, B A,B,请计算 S = A + B . S=A+B. S=A+B.

Input

请从 stdin 读入。

输入第一行为一个正整数 T ≤ 1 0 6 T\leq 10^6 T106,表示测试组数。

每组数据单独占一行,为用空格隔开的整数 A , B ( 0 ≤ A , B ≤ 1 0 9 ) A, B (0 \leq A, B \leq 10 ^ 9) A,B(0A,B109)

Output

请输出到 stdout 中。

对于每组数据输出一行,包含一个整数 S S S,为你的答案。

Sample Input

3
1 1
114 514
1000000000 1000000000

Sample Output

2
628
2000000000

Constraints

Time Limit: 3s

Memory Limit: 128MB

Notes

参考实现:

#include <cstdio>
int main() {
    int T;
    scanf("%d", &T);
    while (T--) {
        int a, b;
        scanf("%d%d", &a, &b);
        printf("%d\n", a + b);
    }
}
#include <bits/stdc++.h>
using namespace std;
int main() {
    int T;
    cin >> T;
    while (T--) {
        int a, b;
        cin >> a >> b;
        cout << a + b << endl;
    } 
}

提交以上代码,你可以注意到后者运行时间显著高于前者,这是因为:

  1. std::cin / std::cout 与 stdio 同步导致其失去缓冲。
  2. std::endl 会调用 std::cout.flush(),而这个操作非常耗时。

因此,如果你需要使用 cin 和 cout 作为你的输入输出,而你的程序在超时的边缘试探时,请考虑以下写法以提升性能:

#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int T;
    cin >> T;
    while (T--) {
        int a, b;
        cin >> a >> b;
        cout << a + b << '\n';
    } 
}

更多信息你可以在这里获取到。

当然,通常来说你不必担心出现这样的问题。我们保证:作业的参考程序能够使用最慢的输入输出方式在时限内通过。

但是,由于服务器真的挺慢的,所以可能会出现本地无压力 AC 提交却 TLE 的情况。如果遇到这种情况,请联系我们进行修正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值