首页 > 试题广场 >

石头、剪刀、布I

[编程题]石头、剪刀、布I
  • 热度指数:864 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
Alice和Bob打牌,每人都有n张牌
Alice的牌里有p1张石头牌,q1张剪刀牌,m1张布牌。
Bob的牌里有p2张石头牌,q2张剪刀牌,m2张布牌。
Alice知道Bob每次要出什么牌,请你安排策略,使Alice获胜次数最多。
输出获胜次数。

示例1

输入

3,3,0,0,0,0,3

输出

0

说明

Alice只有石头,Bob只有布,每一场Alice都必败,所以Alice只能赢0局  
示例2

输入

6,2,2,2,2,2,2

输出

6

说明

Alice可以在Bob出石头的时候出布,在Bob出布的时候出剪刀,在Bob出剪刀的时候出石头,按照这个策略Alice最多能赢下所有的比赛,所以最多能赢6局  

备注:
class Solution:
    def Mostvictories(self , n , p1 , q1 , m1 , p2 , q2 , m2 ):
        count = 0
        if p1 >= q2 :
            count += q2
        else:
            count += p1
        
        if q1 >= m2:
            count += m2
        else:
            count += q1
        if m1 >= p2:
            count += p2
        else:
            count += m1

        return count

发表于 2021-06-15 19:59:07 回复(0)

问题信息

难度:
1条回答 3009浏览

热门推荐

通过挑战的用户

查看代码