先来个普及的:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
return 0;
}
接着就用cin和cout输入输出就行了,挺快的
也可以去掉后面2行,用scanf和printf输入输出
保留:
ios::sync_with_stdio(false);
一个可以参考的代码
https://www.h3399.cn/201903/669587.html
会有亿点长,请见谅
反正我看不懂,而且不知道怎么写,所以实用性不大,而且在比赛的时候是争分夺秒的,不可能有时间编这么长的代码,所以在同学面前装一下逼就可以了,没什么用
快读快写框架:
#include<bits/stdc++.h>
using namespace std;
inline void write(int x){
char F[200];
int tmp=x>0?x:-x ;
if(x<0)putchar('-') ;
int cnt=0 ;
while(tmp>0){
F[cnt++]=tmp%10+'0';
tmp/=10;
}
while(cnt>0)putchar(F[--cnt]) ;
}
inline int read(){
int x=0,f=1,j=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c == '-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int main(){
return 0;
}
输入n:n=read();
输出n:wrute(n);
这样写就会快很多
也可以写简便亿点:
#include<bits/stdc++.h>
using namespace std;
inline int read(){
char c=getchar();int x=0,f=1;
for(;!isdigit(c);c=getchar())if(c=='-')f=-1;
for(;isdigit(c);c=getchar())x=x*10+c-48;
return x*f;
}
inline void write(int n){
if(n==0)return;
write(n/10);
putchar(n%10+'0');
}
int main(){
return 0;
}
这就快写,如果你想再快1丁点,那就用fread
框架:
#include<bits/stdc++.h>
using namespace std;
char buffer[100001],*S,*T;
inline char Get_Char() {
if (S==T){
T=(S=buffer)+fread(buffer,1,100001,stdin);
if (S==T) return EOF;
}
return *S++;
}
inline int read(){
char c;int re=0;
for(c=Get_Char();c<'0'||c>'9';c=Get_Char());
while(c>='0'&&c<='9') re=(re<<1)+(re<<3)+(c-'0'),c=Get_Char();
return re;
}
int main(){
return 0;
}
其实上面的fread完全没有必要,当然如果你想装逼的话这的确是一个好选择,你可以在加上freopen,但这东西已经普及得不行了,在网上一找一大堆,所以不做解释
最后,告诫大家,这些东西作用没我们想象中的那么大,多学知识,提升自己,学会更好的思路,写法,才是最重要的!