本人萌新,问个问题
  • 板块学术版
  • 楼主xtracer
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/1/11 20:20
  • 上次更新2023/11/5 04:55:12
查看原帖
本人萌新,问个问题
341049
xtracer楼主2021/1/11 20:20

为啥之前很有用的std::ios::sync_with_stdio(false)到了我这里就增加了运行时间呢?

原来代码:

#include<iostream>
#include<cstdio>
typedef long long ll;
namespace xtracer{
    void read(ll &n){
        ll x=0,f=1;
        char ch=getchar();
        while(ch<'0' or ch>'9'){
            if(ch=='-')f=-1;
            ch=getchar();
        }
        while(ch>='0' and ch<='9'){
            x=x*10+ch-48;
            ch=getchar();
        }
        n=x*f;
        return ;
    }
    void write(ll n){
        if(n>10)write(n/10);
        putchar(n%10+48);
    }
}
#define baocai_juruo_xtracer using namespace xtracer
baocai_juruo_xtracer;
ll n,ans=0;
int main(){
    read(n);
    while(n){
        ans+=n%2;
        n/=2;
    }
    write(ans);
    return 0;
}

Time:270ms

加了那行东西的代码:

#include<iostream>
#include<cstdio>
typedef long long ll;
namespace xtracer{
    void read(ll &n){
        ll x=0,f=1;
        char ch=getchar();
        while(ch<'0' or ch>'9'){
            if(ch=='-')f=-1;
            ch=getchar();
        }
        while(ch>='0' and ch<='9'){
            x=x*10+ch-48;
            ch=getchar();
        }
        n=x*f;
        return ;
    }
    void write(ll n){
        if(n>10)write(n/10);
        putchar(n%10+48);
    }
}
#define baocai_juruo_xtracer using namespace xtracer
baocai_juruo_xtracer;
ll n,ans=0;
int main(){
    std::ios::sync_with_stdio(false);
    read(n);
    while(n){
        ans+=n%2;
        n/=2;
    }
    write(ans);
    return 0;
}

Time:300ms

求助大佬,感激不尽。

2021/1/11 20:20
加载中...