在不使用 ios::sync_with_stdio(false) 时,cin/cout 的所有操作必须和 C <stdio.h> 提供的输入输出操作进行同步,在输入输出规模较大时可能导致超时。
在使用 ios::sync_with_stdio(false) 时,混用 cin 和 scanf 或混用 cout 和 printf (或 puts 等其他输出函数) 可能会导致输入被重复读取,或输出乱序。
int main()
{
cin.tie(0);
int a, b;
while (cin >> a >> b)
cout << a + b << '\n';
return 0;
}
这个 a+b 程序在数据组数很多时,由于每次使用 cin/cout 都需要和 <stdio.h> 的相关机制进行同步,可能超时。
使用文本编辑器,在程序中查找 ios::sync_with_stdio,以及 <stdio.h> 提供的函数。
只要使用了 cin/cout,就使用 ios::sync_with_stdio(false),并且停用 <stdio.h> 提供的 I/O 功能。