標準入力から読み取る必要があります。私は BufferedReader に精通しておらず、これまで Scanner しか使用していませんでした。スキャナー (またはおそらく私のコード内の何か) が TLE を与え続けます。問題は、BufferedReader がいくつかの行をスキップしているように見え、NumberFormatException を取得し続けることです。
これが私のコードです:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int cases = Integer.parseInt(reader.readLine());
for(int i = 0; i < cases && cases <= 10; i++) {
int numLines = Integer.parseInt(reader.readLine());
String[] lines = new String[numLines + 1];
HashSet<String> pat = new HashSet<String>();
for(int j = 0; j < numLines && j <= 10; j++) {
String l = reader.readLine();
String patternStr = "\\W+";
String replaceStr = "";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(l.toString());
String m = matcher.replaceAll(replaceStr);
lines[j] = m;
getPatterns(m, pat);
System.out.println(m);
}
エラーは 2 回目の入力後に発生します。助けてください。