大家好,我正在解决编码竞赛中的一个问题,我必须提供非常大的输入。
如问题所述 - 输入文件大小可能达到近 8MB,因此请确保您使用的是快速 I/O 方法。
输入将作为测试用例的数量给出。然后是方阵的维数 n。然后整个矩阵为
2
3
2 6 4
4 8 9
7 9 4
2
8 4
15 4
我从网上某个地方得到了一个代码,但我认为它没有任何帮助,因为我也收到了超过时间限制的消息。请告诉以下代码是否会进行快速输入
#define BUF 406 // block size on my disk is 4KBs
char ibuf[BUF];
int ipt = BUF;
int read_uint() {
while (ipt < BUF && ibuf[ipt] < '0') ipt++;
if (ipt == BUF)
{
fread(ibuf, 1, BUF, stdin);
ipt = 0;
while (ipt < BUF && ibuf[ipt] < '0') ipt++;
}
int n = 0;
while (ipt < BUF && ibuf[ipt] >= '0') n = (n*10)+(ibuf[ipt++]-'0');
if (ipt == BUF)
{
fread(ibuf, 1, BUF, stdin);
ipt = 0;
while (ipt < BUF && ibuf[ipt] >= '0') n = (n*10)+(ibuf[ipt++]-'0');
}
return n;
}
请告诉在这种情况下读取 int 输入的最快方法
非常感谢你提前