acm快速读入方法

xiaoxiao2021-02-28  106

//转载而来,暂时还没看懂,有同学愿意的话可以测试一下 char buf[16 * 1024 * 1024 + 5]; // 10 MiB Buffer int curpos = 0, iseof; int nextInt() { int ret = 0; if (iseof) return 0; while (!('0' <= buf[curpos] && buf[curpos] <= '9')) { if (buf[curpos] == 0) { if (fgets(buf, 16 * 1024 * 1024, stdin) == NULL) iseof = true; curpos = 0; continue; } curpos++; } int flg = 0; if (curpos && buf[curpos - 1] == '-') flg = -1; else flg = 1; while ('0' <= buf[curpos] && buf[curpos] <= '9') { ret = ret * 10 + (buf[curpos] - '0'); curpos++; } return ret * flg; }

转载自WHU-二价氢

原文链接:https://b.ejq.me/2016/10/11/kuai-su-du-ru/

转载请注明原文地址: https://www.6miu.com/read-40081.html

最新回复(0)