大家應該都會玩“錘子剪刀布”的游戲:兩人同時給出手勢,勝負規則如圖所示:

現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,并且給出雙方分別出什么手勢的勝算最大。
輸入格式:
輸入第1行給出正整數N(<=105),即雙方交鋒的次數。隨后N行,每行給出一次交鋒的信息,即甲、乙雙方同時給出的的手勢。C代表“錘子”、J代表“剪刀”、B代表“布”,第1個字母代表甲方,第2個代表乙方,中間有1個空格。
輸出格式:
輸出第1、2行分別給出甲、乙的勝、平、負次數,數字間以1個空格分隔。第3行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有1個空格。如果解不唯一,則輸出按字母序最小的解。
輸入樣例:
10 C J J B C B B B B C C C C B J B B C J J
輸出樣例:
5 3 2 2 3 5 B B
1 package com.hone.basical; 2 3 import java.util.Scanner; 4 5 /** 6 * 原題目:https://www.patest.cn/contests/pat-b-practise/1016 7 * @author Xia 8 * 思路:直接模擬出所有的情況即可。 9 */ 10 public class basicalLevel1018GameOfStone{ 11 static int y1 = 0; //代表和的次數 12 13 static int js1 = 0; 14 static int cs1 = 0; 15 static int bs1 = 0; 16 17 static int js2 = 0; 18 static int cs2 = 0; 19 static int bs2 = 0; 20 public static void main(String[] args){ 21 Scanner s = new Scanner(System.in); 22 int n = s.nextInt(); 23 for (int i = 0; i < n; i++) { 24 char one = s.next().charAt(0); 25 char two = s.next().charAt(0); 26 compare(one,two); 27 } 28 System.out.println((bs1+js1+cs1) +" "+y1+" "+(bs2+js2+cs2)); 29 System.out.println((bs2+js2+cs2) +" "+y1+" "+(bs1+js1+cs1)); 30 31 if (bs1>=cs1&&bs1>=js1) { 32 System.out.print("B "); 33 }else if (cs1>=js1) { 34 System.out.print("C "); 35 }else { 36 System.out.print("J "); 37 } 38 39 if (bs2>=cs2&&bs2>=js2) { 40 System.out.println("B"); 41 }else if (cs2>=js2) { 42 System.out.println("C"); 43 }else { 44 System.out.println("J"); 45 } 46 } 47 48 public static void compare(char one,char two){ 49 if((one=='J'&&two=='B')){ 50 js1++; 51 }else if((one=='B'&&two=='C')){ 52 bs1++; 53 }else if((one=='C'&&two=='J')){ 54 cs1++; 55 }else if((one=='C'&&two=='B')){ 56 bs2++; 57 }else if((one=='B'&&two=='J')){ 58 js2++; 59 }else if((one=='J'&&two=='C')){ 60 cs2++; 61 }else { 62 y1++; 63 } 64 } 65 66 }