cin和cout慢啊!!!
cin和cout慢啊!!!
cin和cout慢啊!!!
有些题用cin和cout输入了/输出了很多数字后就TLE了。。。
scanf和printf相比来说快点,不过也不算太快。
怎么样才能达到更快的输入输出速度呢?
答案是字符法。
void qin(int &x){//快速输入qin(quick in) int base=1,num; char c=getchar(); while(!(c==‘-‘||c>=‘0‘&&c<=‘9‘||c==EOF))c=getchar(); if(c==EOF)exit(0); if(c==‘-‘)base=-1,c=getchar();//如果先输入了个‘-’那么就是个负数 num=c-‘0‘; c=getchar(); while(c>=‘0‘&&c<=‘9‘){//n进制转十进制标准方法。。。不过是十进制转十进制 num*=10; num+=c-‘0‘; c=getchar(); } x=num*base; } char integ[50]; void qout(int x){//快速输出qout(quick out) if(x<0)putchar(‘-‘),x=-x;//保证后面操作用的数字非负数,不然就会变成符号了 int len=0; do{ integ[len++]=x%10+‘0‘; x/=10; }while(x); while(len--){ putchar(integ[len]); } }
时间: 2024-12-26 22:03:44