Codility每周一课:P92.1 TennisTournament

版权声明:AnFany https://blog.csdn.net/qq_32882309/article/details/88715049

0.png

P92.1 TennisTournament
Given the numbers of players and available courts, calculate the maximum number of parallel tennis games.

  • P92.1 网球赛
    给定球员数和球场数,计算比赛的最多场次

将要举办一次网球锦标赛。参加本次锦标赛第一轮比赛的注册选手有P人,准备的球场数为C。每场比赛只有两名选手参加,同一球场同一时间内只能进行一场比赛。为了快速完成第一轮,需要在同一时间内同时进行多场比赛。

编写函数:

def solution(P, C)

给出选手数P和球场数C,返回同一时间内可以进行比赛的最大场数。

例如,如果选手数P=5,球场数C=3,函数应该返回2个,因为两个球场可以同时进行比赛(例如,第一和第二个选手可以在第一个球场比赛,第三和第四个玩家可以在第二个球场上玩,第三个球场将是空的,因为第五个玩家没有选手可以一起比赛)。

如果P=10,C=3,那么该函数应该返回3,因为最多3场比赛可以同时进行。

假定:

  1. P和C是[1,30,000]区间内的整数;

在解决方案中,关注正确性,性能不是评估的重点。

  • 解题思路
    就是在选手可以组成的队数和球场数之间选取较小值。

  • Python3代码

# -*- coding:utf-8 -*-
# &Author  AnFany
# Lesson 92:Tasks from Indeed Prime 2016 College Coders challenge
# P 92.1 TennisTournament


def solution(P, C):
    """
    给定选手数P,球场数C,返回同时进行比赛的场数
    :param P: 选手数
    :param C: 球场数
    :return: 比赛场数
    """
    return min(C, P // 2)
  • 结果

image

点击获得更多编程练习题。欢迎Follow,感谢Star!!! 扫描关注微信公众号pythonfan,获取更多。

image

image

猜你喜欢

转载自blog.csdn.net/qq_32882309/article/details/88715049