diff options
Diffstat (limited to 'other/fastIO.cpp')
| -rw-r--r-- | other/fastIO.cpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/other/fastIO.cpp b/other/fastIO.cpp index 0077ce2..63f9ede 100644 --- a/other/fastIO.cpp +++ b/other/fastIO.cpp @@ -1,24 +1,24 @@ -void fastscan(int* number) { - bool negative = false; - register int c; - *number = 0; - c = getchar(); - while(c != '-' && (c < '0' || c > '9')) c = getchar(); - if (c == '-') negative = true, c = getchar(); - for (; c > 47 && c < 58; c = getchar()) *number = *number * 10 + c - 48; - if (negative) *number *= -1; +void fastscan(int& number) { + bool negative = false; + register int c; + number = 0; + c = getchar(); + while(c != '-' && (c < '0' || c > '9')) c = getchar(); + if (c == '-') negative = true, c = getchar(); + for (; c >= '0' && c <= '9'; c = getchar()) number = number * 10 + c - '0'; + if (negative) number *= -1; } void printPositive(int n) { - if (n == 0) return; - print(n / 10); - putchar(n % 10 + '0'); + if (n == 0) return; + printPositive(n / 10); + putchar(n % 10 + '0'); } void fastprint(int n) { - if(n == 0) { putchar('0'); return; } - if (n < 0) { - putchar('-'); - print(-n); - } else print(n); + if(n == 0) {putchar('0'); return;} + if (n < 0) { + putchar('-'); + printPositive(-n); + } else printPositive(n); } |
