洛谷AC的第一题!
主要卡点
(1)E之后的数据不能管,要break掉;
(2)当输或赢的数量大于等于11时(注意是大于等于!不是等于!),还要判断输赢大于等于2,才能输出剩余的(也就是当前正在比赛的)数据;
import java.util.ArrayList;
import java.util.Scanner;
注意主类要改成Main,我想学C++了...tm题解全是C++!淦!java的题解一个都找不到!
public class Code01_PingPong {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = null;
int win = 0;
int lose = 0;
int i = 0;
boolean findE = false;
char[] chars = null;
ArrayList<String> inputs = new ArrayList<>();
while (scanner.hasNext()) {
inputs.add(scanner.next());
char[] chars1 = inputs.get(i).toCharArray();
for (int j = 0; j < chars1.length; j++) {
if (chars1[j] == 'E') {
findE = true;
break;
}
}
if (findE) {
break;
}
i++;
}
for (int j = 0; j < inputs.size(); j++) {
chars = inputs.get(j).toCharArray();
for (int p = 0; p < chars.length; p++) {
if (chars[p] == 'W') {
win++;
} else if (chars[p] == 'L') {
lose++;
} else {
System.out.println(win + ":" + lose);
break;
}
if ((lose >= 11 || win >= 11) && Math.abs(lose - win) >= 2) {
System.out.println(win + ":" + lose);
win = 0;
lose = 0;
}
}
}
win = 0;
lose = 0;
System.out.println();
for (int j = 0; j < inputs.size(); j++) {
chars = inputs.get(j).toCharArray();
for (int p = 0; p < chars.length; p++) {
if (chars[p] == 'W') {
win++;
} else if (chars[p] == 'L') {
lose++;
} else {
System.out.println(win + ":" + lose);
break;
}
if ((lose >= 21 || win >= 21) && Math.abs(lose - win) >= 2) {
System.out.println(win + ":" + lose);
win = 0;
lose = 0;
}
}
}
}
}