zoukankan      html  css  js  c++  java
  • PAT 锤子剪刀布

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

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

    输入格式:

    输入第 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
    dirt={'C':'J','J':'B','B':'C'}
    t=int(input())
    c,d,g=0,0,0
    e,f=[],[]
    for i in range(t):
        a,b=input().split()
        if dirt[a]==b:
            c+=1
            e.append(a)
        elif dirt[b]==a:
            d+=1
            f.append(b)
        else:
            g+=1
    e.sort()
    f.sort()
    k,m=0,0
    if e:
        k=max(e,key = e.count)
    else:
        k='B'
    if f:
        m=max(f,key = f.count)
    else:
        m='B'
    print(c,g,t-c-g)
    print(d,g,t-d-g)
    print(k,m)

    这道题目可能需要注意的一点就是如果甲或者乙一次都没赢,那他获胜次数最多的手势就是B

  • 相关阅读:
    换种方式思考问题
    win7 下的open live writer代码插件
    vue-todolist
    vue-新建项目出错情况分析
    vue新建项目
    AJAX(一、基本知识)
    2016年度工作总结
    常看常遇见之一——BS架构VS CS架构
    thinkjs——session
    关于Listener
  • 原文地址:https://www.cnblogs.com/andrew3/p/12636280.html
Copyright © 2011-2022 走看看