Advertisement

面试题库:关灯谜题环节

阅读量:

一排共有n个灯泡,按照从左至右的顺序排列。初始状态下,这些灯泡中部分处于开启状态,部分则处于关闭状态。随后,Alice与Bob将依次进行操作,其中Alice率先行动。在每次操作过程中,当前轮到的玩家需选定一个处于开启状态的灯泡,并将其自身以及其右侧所有灯泡的状态进行一次翻转。若某位玩家完成操作后,所有灯泡均处于关闭状态,则该玩家将获得游戏胜利。假设Alice与Bob均具备充分的智慧并希望赢得游戏,在这种情况下,最终的胜者将会是谁?

输入:

复制代码
 第一行包含一个整数n,表示灯泡的个数。1<=n<=10^5

    
 第二行包含n个0或1,表示初始时灯泡的状态,0表示熄灭,1表示点亮
    
    
    
    

输出:

复制代码
    如果Alice赢,则输出Alice,或则输出Bob
    
复制代码
 3

    
 0 1 1
    
    
    
    

样例输出:

复制代码
    Alice
    
复制代码
    事实上,不管Alice还是Bob做了什么操作,最后一个灯泡肯定是要来回切换的,用0、1分别代表熄灭和亮起的状态,则为0、1来回变换;所以只有能把1变为0的人,才能赢。也就是只需要判断最后一位输入是1,就是Alice赢,是0就是Bob赢。
    
复制代码
 import

全部评论 (0)

还没有任何评论哟~