本文共 1613 字,大约阅读时间需要 5 分钟。
要解决这个问题,我们需要统计“锤子剪刀布”游戏中双方的胜、平、负次数,并找出双方分别出什么手势的胜算最大。
n = int(input())jia_arr = [0, 0, 0] # B, C, Jyi_arr = [0, 0, 0]win_jia = 0ping_jia = 0fu_jia = 0for _ in range(n): jia, yi = input().split() if jia == yi: ping_jia += 1 else: if (jia == 'C' and yi == 'J') or (jia == 'J' and yi == 'C'): win_jia += 1 jia_arr[1] += 1 elif (jia == 'C' and yi == 'B') or (jia == 'B' and yi == 'C'): fu_jia += 1 jia_arr[0] += 1 elif (jia == 'J' and yi == 'B') or (jia == 'B' and yi == 'J'): fu_jia += 1 jia_arr[2] += 1 elif (jia == 'J' and yi == 'C') or (jia == 'C' and yi == 'J'): win_jia += 1 jia_arr[2] += 1 elif (jia == 'B' and yi == 'J') or (jia == 'J' and yi == 'B'): win_jia += 1 jia_arr[0] += 1 elif (jia == 'B' and yi == 'C') or (jia == 'C' and yi == 'B'): fu_jia += 1 jia_arr[1] += 1def get_max(arr): max_val = -1 max_index = 0 for i in range(len(arr)): if arr[i] > max_val: max_val = arr[i] max_index = i return arr[max_index]flag1 = get_max(jia_arr)flag2 = get_max(yi_arr)print(f"{win_jia} {ping_jia} {fu_jia}")print(f"{fu_jia} {ping_jia} {win_jia}")print(f"{flag1} {flag2}")
这个方法确保了代码的简洁和逻辑的清晰,能够正确统计双方的胜负次数并确定胜利手势。
转载地址:http://ebqg.baihongyu.com/