日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

發布時間:2023/12/2 java 31 豆豆

題目描述:
大家應該都會玩“錘子剪刀布”的游戲:現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,并且給出雙方分別出什么手勢的勝算最大。

輸入描述:
輸入第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

Java代碼:

import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Model a = new Model();Model b = new Model();int n = scanner.nextInt();for (int i = 0; i < n; i++) {char jia = scanner.next().charAt(0);char yi = scanner.next().charAt(0);check(a,b,jia,yi);}String mostA = "";String mostB = "";if (Math.max(a.map.get("B"),Math.max(a.map.get("C"),a.map.get("J"))) == a.map.get("B")){mostA = "B";}else if (Math.max(a.map.get("B"),Math.max(a.map.get("C"),a.map.get("J"))) == a.map.get("C")){mostA = "C";}else mostA = "J";if (Math.max(b.map.get("B"),Math.max(b.map.get("C"),b.map.get("J"))) == b.map.get("B")){mostB = "B";}else if (Math.max(b.map.get("B"),Math.max(b.map.get("C"),b.map.get("J"))) == b.map.get("C")){mostB = "C";}else mostB = "J";System.out.println(a.toString());System.out.println(b.toString());System.out.println(mostA + " " + mostB);scanner.close();}public static void check(Model a,Model b,char jia,char yi){if (jia == 'C'){switch (yi){case 'C': a.tie++;b.tie++;break;case 'J': a.win++;b.lose++;a.map.put("C",a.map.get("C")+1);break;case 'B': a.lose++;b.win++;b.map.put("B",b.map.get("B")+1);break;}}else if (jia == 'J'){switch (yi){case 'J': a.tie++;b.tie++;break;case 'B': a.win++;b.lose++;a.map.put("J",a.map.get("J")+1);break;case 'C': a.lose++;b.win++;b.map.put("C",b.map.get("C")+1);break;}}else {switch (yi){case 'B': a.tie++;b.tie++;break;case 'C': a.win++;b.lose++;a.map.put("B",a.map.get("B")+1);break;case 'J': a.lose++;b.win++;b.map.put("J",b.map.get("J")+1);break;}}}static class Model {int win = 0;int tie = 0;int lose = 0;Map<String,Integer> map = new HashMap<>();public Model() {this.map.put("C",0);this.map.put("J",0);this.map.put("B",0);}@Overridepublic String toString() {return win + " " + tie + " " + lose;}}}

總結

以上是生活随笔為你收集整理的Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。