← 返回题库
初级

锤子剪刀布

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(n, games_data):
    n = int(n)
    games = str(games_data).strip().split(',')
    j_win = b_win = tie = 0
    j_cnt = {'C': 0, 'J': 0, 'B': 0}
    b_cnt = {'C': 0, 'J': 0, 'B': 0}
    wins = {('C', 'J'), ('J', 'B'), ('B', 'C')}
    for g in games[:n]:
        parts = g.split()
        j, b = parts[0], parts[1]
        if (j, b) in wins:
            j_win += 1
            j_cnt[j] += 1
        elif j == b:
            tie += 1
        else:
            b_win += 1
            b_cnt[b] += 1
    print(f'{j_win} {tie} {b_win}')
    best_j = max(j_cnt, key=lambda x: (j_cnt[x], x))
    best_b = max(b_cnt, key=lambda x: (b_cnt[x], x))
    print(f'{best_j} {best_b}')

示例

输入
solve(10, 'C J,J B,C B,B B,B C,C C,C B,J B,B C,J J')
期望输出
5 3 2
J B
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码