几周前老师交了我们两个快读快写的函数,不是关闭cin和scanf之间的同步,据老师说有时候甚至比scanf和printf还快(真的好快,时间超限的题都可以勉强通过),short和long long应该改一下也行,long long试过,可以,他是用putchar和getchar来读取缓冲区的数据,原理很简单,快写是一个递归函数(应该)
#include<bits/stdc++.h>
using namespace std;
long long a;
void write(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
write(x/10);
putchar('0'+x%10);
}
int read()
{
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=(x<<3)+(x<<1)+c-'0';
c=getchar();
}
return x*f;
}
int main()
{
a=read();
write(a);
}
#include<bits/stdc++.h>
using namespace std;
long long a;
void write(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
write(x/10);
putchar('0'+x%10);
}
int read()
{
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=(x<<3)+(x<<1)+c-'0';
c=getchar();
}
return x*f;
}
int main()
{
a=read();
write(a);
}