void scanf_(int &num)
{
char in;
//bool neg = false;
while( ((i = getchar()) > '9' || in < '0') && in != '-');
/*
if(in == '-') {
neg = true;
while((in = getchar()) > '9' || in < '0');
}*/
num = in - '0';
while(in = getchar(), in >= '0' && in <= '9') {
num *= 10;
num += in - '0';
}
//if(neg) num = 0 - num;
}
void printf_(int num)
{
if(num < 0) {
putchar('-');
num = -num;
}
int ans[10], top = 0;
while(num != 0) {
ans[top++] = num % 10;
num /= 10;
}
if(top == 0) putchar('0');
for(int i = top-1; i >= 0; i--) {
char ch = ans[i] + '0';
putchar(ch);
}
}
来自cxlove。
你知道吗?需要输入输出大量数据的时候,scanf和printf是非常耗时的操作。不信?素数环那道题。Prime Ring,你输入18试试。上完厕所回来,输出都没能结束。然而,getchar() putchar()是非常迅速的。我们用外挂改造一下IO。