- 今天被讀入優化坑慘了
- 因為一道随便水水就能過的屎題,調了一下午我一直以為是我STL的鍋。
- 以後校OJ上讀入量超過10mb的題目,不寫這個優化,我名字倒着寫…
版本1
#include<cstdio>
#include<iostream>
using namespace std;
const int maxx=;
char Input[maxx+],*ipos;
#define read() (strtol(ipos,&ipos,10))
int main() {
fread(Input,maxx,,stdin);ipos=Input;
int n=read();
//Do something......
return ;
}
版本2
const int STRSIZE=int();
char in1[STRSIZE];
char *in=in1, *tempend;
void Input() {
tempend=in+STRSIZE;
fread(in,,STRSIZE,stdin);
}
inline void scan(int &x) {
char c=*(in++);
while(!(c>='0' && c<='9')) c=*(in++);
x=c-'0';
c=*(in++);
while(c>='0' && c<='9') {
x=x*+c-'0';
c=*(in++);
}
}
打acm之後用的
#include <bits/stdc++.h>
using namespace std;
const int BUF=;
char Buf[BUF], *buf=Buf;
inline void read(int& a) {for(a=;*buf<;buf++); while(*buf>) a=a*+*buf++-;}
void work() {
}
int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
fread(Buf,,BUF,stdin);
int T;
for(read(T);T;T--)
work();
return ;
}
打ACM用的二逼I/O
inline int read() {
register int val=, sign=; char ch;
while(~(ch=getchar()) && (ch<'0' || ch>'9') && ch!='-'); ch=='-'?sign=-:val=ch-'0';
while(~(ch=getchar()) && (ch>='0' && ch<='9')) val=(val<<)+(val<<)+ch-'0';
return val*sign;
}