Codility每周一课:P92.1 TennisTournam
2019-03-21 本文已影响2人
AiFany
![](https://img.haomeiwen.com/i4734220/7791450cbe3d6443.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场比赛可以同时进行。
假定:
- 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)
- 结果
点击获得更多编程练习题。欢迎Follow,感谢Star!!! 扫描关注微信公众号pythonfan,获取更多。