zoukankan      html  css  js  c++  java
  • [编程题]晋级人数

    小团是某综艺节目的策划,他为某个游戏环节设计了一种晋级规则,已知在这个游戏环节中每个人最后都会得到一个分数score_i,显而易见的是,游戏很有可能出现同分的情况,小团计划该环节晋级人数为x人,则将所有人的分数从高到低排序,所有分数大于等于第x个人的分数且得分不为0的人都可以晋级。

    请你求出本环节的实际晋级人数。显然这个数字可能是0,如果所有人的得分都是0,则没有人满足晋级条件。

    输入描述:
    输入第一行包含两个正整数n和x,分别表示参加本环节的人数,和小团指定的x。

    输入第二行包含n个整数,每个整数表示一位选手的得分。

    输出描述:
    输出仅包含一个整数,表示实际晋级人数。

    输入例子1:
    5 4
    0 0 2 3 4

    输出例子1:
    3

    分析:如果在第x人之前存在分数相同的情况,则晋级人数可能会大于x。

    result_ls = []
    while True:
        try:
            n, x = map(int, input().split())
            n_ls = list(map(int, input().split()))
            n_ls.sort(reverse=True)
            #print(n_ls)
            y = n - 1
            num = n_ls[x-1]
            flag = False
            while y > 0:
                if n_ls[y] == 0:
                    y -= 1
                else:
                    result_ls.append(y + 1)
                    flag = True
                    break
    
            if not flag:
                result_ls.append(0)
    
        except Exception as e:
            #print(e)
            break
    for _ in result_ls:
        print(_)
    
    
  • 相关阅读:
    python深浅拷贝
    pyinstaller打包py文件为exe方法
    python学习笔记3-关于文件的复制、重命名、移动、删除操作
    BeautifulSoup4 print() 输出中文乱码解决方法
    进程和线程的开启效率
    python3 使用pymysql
    python3 __file__
    Flask Template ( 模板学习)
    响应对象
    nginx 以及 uwsgi 的配置
  • 原文地址:https://www.cnblogs.com/chenjo/p/14706498.html
Copyright © 2011-2022 走看看