fread快速读入
存个档吧。
正数读入:
#include<iostream>
#include<cstdio>
#include<algorithm>
#define il inline
using namespace std;
int a,b;
char buf[1 << 23],*p1=buf,*p2=buf,obuf[1 << 23],*O=obuf;
#define getchar() (p1==p2 && (p2=(p1=buf)+fread(buf,1,1 << 21,stdin),p1==p2)?EOF:*p1++)
template<typename T>
il void read(T &x)
{
char c=getchar();
x=0;
while(c<'0' || c>'9')
c=getchar();
while('0'<=c && c<='9')
x=(x << 3)+(x << 1)+(c^48),c=getchar();
}
template<typename T>
il void print(T x)
{
if (x>9)
print(x/10);
*O++=x%10+'0';
}
int main()
{
read(a),read(b);
print(a+b),*O++='\n';
fwrite(obuf,O-obuf,1,stdout);
return 0;
}
正负数读入:
#include<iostream>
#include<cstdio>
#include<algorithm>
#define il inline
using namespace std;
int a,b;
char buf[1 << 23],*p1=buf,*p2=buf,obuf[1 << 23],*O=obuf;
#define getchar() (p1==p2 && (p2=(p1=buf)+fread(buf,1,1 << 21,stdin),p1==p2)?EOF:*p1++)
template<typename T>
il void read(T &x)
{
char c=getchar();
int f=1;
x=0;
while(c<'0' || c>'9')
{
if (c=='-')
f=-f;
c=getchar();
}
while('0'<=c && c<='9')
x=(x << 3)+(x << 1)+(c^48),c=getchar();
x=x*f;
}
template<typename T>
il void print(T x)
{
if (x<0)
putchar('-'),print(-x); else
{
if (x>9)
print(x/10);
*O++=x%10+'0';
}
}
int main()
{
read(a),read(b);
print(a+b),*O++='\n';
fwrite(obuf,O-obuf,1,stdout);
return 0;
}