总是忘记读入优化的板子,在这里 Mark 一下。
需要 cstdio
和 cctype
头文件
不能读负数版(异或 48 是一个神奇的操作)
可以读负数版(因为需要额外的计算,比上面的稍慢一点,但依然吊打自带的读入)
上面的读入优化有一个缺点,就是当一次要读入很多数而且不能用循环的时候,需要一个一个手打 read()
,比如 read(a), read(b), read(c);
这样远不如 cin
的 cin >> a >> b >> c;
和 scanf()
的 scanf("%d%d%d", &a, &b, &c);
来得方便。
不过 cstdarg 库拯救了我们!只需要加上这个头文件:
这样就可以愉快使用 read(a, b, c)
这样的形式来读入了,而且似乎比标准读入方式更方便了。
如果上面两个都不想打,可以考虑这个
用 cin
和 cout
输入输出即可(格式化输入输出就不能用了)。
实机测试居然比格式化输入快