43 lines
1.2 KiB
Java
43 lines
1.2 KiB
Java
package reverse;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
|
|
public class FastScanner {
|
|
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
|
String line = null;
|
|
int pos = 0;
|
|
|
|
boolean hasNextLine() throws IOException {
|
|
if (line != null && pos < line.length()) return true;
|
|
line = br.readLine();
|
|
pos = 0;
|
|
return line != null;
|
|
}
|
|
|
|
boolean hasNextInt() {
|
|
if (line == null) return false;
|
|
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
|
return pos < line.length();
|
|
}
|
|
|
|
int nextInt() {
|
|
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
|
int start = pos;
|
|
boolean negative = line.charAt(pos) == '-';
|
|
if (negative) pos++;
|
|
|
|
while (pos < line.length() && Character.isDigit(line.charAt(pos))) pos++;
|
|
|
|
int result = 0;
|
|
for (int i = negative ? start + 1 : start; i < pos; i++) {
|
|
result = result * 10 + (line.charAt(i) - '0');
|
|
}
|
|
return negative ? -result : result;
|
|
}
|
|
|
|
void nextLine() {
|
|
pos = line.length();
|
|
}
|
|
} |