这两个一个函数和一个宏定义,可以加快读入整型数据的速度,增加程序允许的栈容量,防止一些较深的递归导致爆栈
View Code
1 template <class T> 2 int read_num(T *x) { 3 int ch; 4 bool sign = 0; 5 while (EOF != (ch = getchar()) && ('0' > ch || ch > '9') && ch != '-') ; 6 if (EOF == ch) return EOF; 7 if (ch == '-') { 8 sign = 1; 9 ch = getchar(); 10 } 11 *x = 0; 12 while ('0' <= ch && ch <= '9') { 13 *x *= 10; 14 *x += ch - '0'; 15 ch = getchar(); 16 } 17 if (sign) *x = -*x; 18 return 1; 19 }
#pragma comment(linker, "/STACK:102400000,102400000")//防止爆栈