Jaxu.jfy

以梦为马,不负韶华

导航

快读 && 快写

快读 && 快写

快读和快写,就是利用字符串的一些特殊性质进行读入,输出;在一定情况下(输入数据十分庞大),可以大大的缩短时间。

注意这个快读是非常的重要的,我想这应该是想要在OI这条路上走远的所有OIer必须会的东西。养成每次写题目都加上快读的好习惯,有可能会在关键的时候救你一命!

普通快读

inline void read(int &x){
   int s = 0, w = 1; char ch = getchar();
   while(ch < '0' || ch > '9'){ if(ch == '-') w = -1; ch = getchar(); }
   while(ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
   x = s*w;
   return ;
}

getchar ,就是将数字当字符读取,比scanf快很多
w用来判断数字是不是负号,
如果想的话可以再压一下行

普通快写

inline void out(int a){
    if(x<0){
    	putchar('-');
		x=-x;
	}
    if(a>9)write(x/10);
    putchar(a%10+'0');
}  

快写也非常简单,利用int与ASCII码之间转换,实现快读快写的目的。

最后来一发灵魂快读

int read(){
	int a
	cin>>a;
	return a;
}

posted on 2019-05-17 22:31  blue.jfy  阅读(840)  评论(0编辑  收藏  举报