zoukankan      html  css  js  c++  java
  • 算法题 17 纸牌游戏 牛客网 腾讯笔试题

    算法题 17 纸牌游戏 牛客网 腾讯笔试题

    题目:
    链接:https://www.nowcoder.com/questionTerminal/ebec6fac8a834bf7aed2d5da7c8aa432
    来源:牛客网
    此题比较简单

    牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌, 第i张纸牌上写着数字ai
    牛牛和羊羊轮流抽牌, 牛牛先抽, 每次抽牌他们可以从纸牌堆中任意选择一张抽出, 直到纸牌被抽完。
    他们的得分等于他们抽到的纸牌数字总和。
    现在假设牛牛和羊羊都采用最优策略, 请你计算出游戏结束后牛牛得分减去羊羊得分等于多少。

    输入描述:
    输入包括两行。
    第一行包括一个正整数n(1 <= n <= 10

    5

    ),表示纸牌的数量。
    第二行包括n个正整数ai(1 <= a

    i

     <= 10

    9

    ),表示每张纸牌上的数字。


    输出描述:
    输出一个整数, 表示游戏结束后牛牛得分减去羊羊得分等于多少。
    示例1

    输入

    3
    2 7 4

    输出

    5

    解题代码:

    代码一:

    # -*- coding:utf-8 -*-
    
    n=int(input())
    An=[int(i) for i in input().strip().split()]
    niu=[]
    yang=[]
    An.sort()
    for i in range(len(An)//2):
        niu.append(An.pop())
        yang.append(An.pop())
    if len(An)>0:
        niu.append(An.pop())
    print(sum(niu)-sum(yang))

    代码二:

    # -*- coding:utf-8 -*-
    
    n=int(input())
    An=[int(i) for i in input().strip().split()]
    An.sort(reverse=True)
    ans=0
    for i in range(len(An)):
        if i%2==0:
            ans+=An[i]
        else:
            ans-=An[i]
    print(ans)
  • 相关阅读:
    inotify事件监控
    NFS网络文件共享服务
    Rsync数据同步服务
    SSH连接原理及ssh-key讲解
    C语言I博客作业04
    C语言l博客作业03
    C语言I博客作业02
    定义一个计算字符串高度的方法
    字典转模型
    UIScrollView和UIPageControl
  • 原文地址:https://www.cnblogs.com/yanmk/p/9314033.html
Copyright © 2011-2022 走看看