我们先对比下这两个代码:
// #include <bits/stdc++.h>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdio>
#include <cstring>
using namespace std;
int n;
inline int read() {
int res = 0, f = 1;
char k;
while (!isdigit(k = getchar())) if (k == '-') f = -1;
while (isdigit(k)) {
res = res * 10 + k - '0';
k = getchar();
}
return res * f;
}
int main() {
// n = read();
cin >> n;
cout << n << endl;
return 0;
}
这是正常的输入n输出n的代码,
经过多次试验:
23ms、27ms、27ms、29ms、27ms
(23 + 27 * 3 + 29) / 5 = 26.6(ms)
对比一下下面的代码:
// #include <bits/stdc++.h>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdio>
#include <cstring>
using namespace std;
int n;
inline int read() {
int res = 0, f = 1;
char k;
while (!isdigit(k = getchar())) if (k == '-') f = -1;
while (isdigit(k)) {
res = res * 10 + k - '0';
k = getchar();
}
return res * f;
}
int main() {
n = read();
// cin >> n;
cout << n << endl;
return 0;
}
经过多次试验:
31ms、31ms、32ms、32ms、30ms
(312 + 322 + 30) / 5 = 31.2(ms)
26.6ms明显比31.2ms要快很多
那为啥P1923用cin不行,用快读可以呢?
Tip:
我用的本地编译器可能很多人都没听说过,这个编译器的名字叫CodeRunner,原价60,还是比较快的。我手里有破解版,只收十块,要的私信
作死的广告