import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); scanner.close(); // 计算11分制结果 List<String> result11 = calculateScore(s, 11); // 计算21分制结果 List<String> result21 = calculateScore(s, 21); // 输出11分制结果 for (String score : result11) { System.out.println(score); } // 空行分隔 System.out.println(); // 输出21分制结果 for (String score : result21) { System.out.println(score); } } /** * 根据指定的分制计算比赛结果 * @param s 比赛记录字符串 * @param target 分制(11或21) * @return 每局比分的列表 */ private static List<String> calculateScore(String s, int target) { List<String> result = new ArrayList<>(); int wScore = 0; // 旺仔哥哥的得分 int lScore = 0; // 对手的得分 for (char c : s.toCharArray()) { // 更新得分 if (c == 'W') { wScore++; } else { lScore++; } // 检查当前局是否结束 if (isGameOver(wScore, lScore, target)) { // 记录本局比分 result.add(wScore + ":" + lScore); // 开始新局,重置分数 wScore = 0; lScore = 0; } } // 处理未结束的局 if (wScore > 0 || lScore > 0) { result.add(wScore + ":" + lScore); } else if (wScore == 0 && lScore ==0){ result.add(0 + ":" + 0); } return result; } /** * 判断当前局是否结束 * @param w 旺仔哥哥的得分 * @param l 对手的得分 * @param target 分制(11或21) * @return 若局结束则返回true,否则返回false */ private static boolean isGameOver(int w, int l, int target) { // 当且仅当一局比赛中存在某个选手分数不小于target且双方比分差≥2时,判定一局结束 return (w >= target || l >= target) && Math.abs(w - l) >= 2; } }