PAT——1018. 锤子剪刀布

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

输入格式:

输入第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 }  


原文地址:https://www.cnblogs.com/xiaxj/p/7978722.html