提出詳細
ソースコード
import java.io.*;
import java.util.*;
class TeraCoderK {
BufferedReader in;
TeraCoderK() {
in = new BufferedReader(new InputStreamReader(System.in));
}
void run() {
int[] values;
values = readIntTokens();
int numCases = values[0];
for (int i = 1; i <= numCases; i++) {
values = readIntTokens();
int[] starts = new int[26];
int[] ends = new int[26];
for (int j = 0; j < values[0]; j++) {
try {
String word = in.readLine();
starts[word.charAt(0) - 'a']++;
ends[word.charAt(word.length() - 1) - 'a']++;
} catch (IOException ioe) {
return;
}
}
System.out.println("Case #" + i + ":");
boolean ng = false;
for (int j = 0; j < 26; j++) {
if (starts[j] != ends[j]) {
System.out.println("NG");
ng = true;
break;
}
}
if (!ng) System.out.println("OK");
}
close();
}
int getMax(int val) {
ArrayList<Integer> digits = new ArrayList<Integer>();
for (int i = 0; i < 4; i++) {
digits.add(val % 10);
val /= 10;
}
Collections.sort(digits);
int max = 0;
for (int i = 3; i >= 0; i--) {
max += digits.get(i);
max *= 10;
}
max /= 10;
return max;
}
int getMin(int val) {
ArrayList<Integer> digits = new ArrayList<Integer>();
for (int i = 0; i < 4; i++) {
digits.add(val % 10);
val /= 10;
}
Collections.sort(digits);
int max = 0;
for (int i = 0; i < 4; i++) {
max += digits.get(i);
max *= 10;
}
max /= 10;
return max;
}
public static void main(String[] args) {
TeraCoderK app = new TeraCoderK();
app.run();
}
int[] readIntTokens() {
String str;
int[] intTokens;
try {
str = in.readLine();
if (str == null || str.equals("")) return null;
} catch (IOException ioe) {
// ioe.printStackTrace();
return null;
}
String[] tokens = str.split(" ");
intTokens = new int[tokens.length];
for (int i = 0; i < tokens.length; i++) {
intTokens[i] = Integer.parseInt(tokens[i]);
}
return intTokens;
}
void close() {
try {
in.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
提出情報
提出出力結果
テストケース情報