此代码可不可以再优化下,让速度更快些(求大佬指点)

P1001 A+B Problem

xzwdqjdx @ 2023-10-03 21:20:32

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    int c;
    c=a+b;
    cout<<c;
    return 0;
}

by Miyamizu_Mitsuha @ 2023-10-03 21:23:26

想起了之前的某个帖子


by Patronus @ 2023-10-03 21:24:11

快读


by gongziwen @ 2023-10-03 21:25:42

对于本题,一点精细的差别(几ns)已经不重要了。

如果有多测,建议用`scanf`/关同步流/快读/`fread`/`mmap`(依次更快)

对于加法操作已经比较极限了

对于输出可以建议用`printf`/快写/关同步流/`fwrite`/(依次更快)

顺便问一下这为什么发不出去


by RockyChen @ 2023-10-03 21:26:48

第一、快读 第二、把

int c;
c=a+b;
cout<<c;

改成

cout<<a+b;

注:我也不是大佬,若有疏漏,请斧正


by reveal @ 2023-10-03 21:29:58

结论:(至少对于 cpp)lg 启动程序需要 20ms

这种破事去 duck.ac


by DANNNqwq @ 2023-10-03 21:30:17

1.换快读
2.不要定义中间变量,直接输出a+b
3.不使用 using namespace std;使用函数前加上std::
3.开O2优化


by DANNNqwq @ 2023-10-03 21:31:23

@gongziwen 关闭同步流应该比scanf/printf慢一些吧


by gongziwen @ 2023-10-03 21:33:44

@DANNNsth 自己测


by shenbairui @ 2023-10-03 21:36:01

用汇编做快,上csdn去找找


by Regenbogen_71 @ 2023-10-03 21:41:21

#include<iostream>
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",(a^b)+((a&b)<<1));
    return 0;
}

还能加个快读


| 下一页