可以增强cin和和cout的效率。
在做acm一些题时,经常出现 数据集超大造成 cin读入过多 超时的情况。
这是因为在c++中cin,cout虽然方便但是效率低。
是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入和输出缓存,可节省时间,使效率能达到scanf与printf效率。
加入后运行时间比单用cin cout 少
ios::sync_with_stdio(false);
然而输入输出全部用scanf printf 后更快了(但别加ios::sync_with_stdio(false); 加了比不加慢了3ms????)
#include<bits/stdc++.h>
using namespace std;
int exgcd(int a, int b, int &x, int &y){
if(!b){
x = 1, y = 0;
return a;
}
int d = exgcd(b, a % b, y, x);
y -= a / b * x;
return d;
}
int main(){
int n;
scanf("%d", &n);
while(n -- ){
int a, b;
scanf("%d %d", &a, &b);
int x, y;
exgcd(a, b, x, y);
printf("%d %d\n", x, y);
}
return 0;
}