应用
一公司组建团建活动,租用双人公共自行车,每辆最多乘坐2人,且最大载重为m。 该公司共n个人,请问需要多少双人公共自行车?
实现
python
m, n = [int(i) for i in input("请输入双人公共自行车限重以及人数,以空格分开:").split()]
weights = [int(i) for i in input("请输入每个人的体重,以空格分开:").split()]
w =weights
num = 0
for i in range(0, n):
for j in range(i+1, n):
#
if w[i] > 0:
# 一人一车
if w[i] == m:
num += 1
# 标记为已被比较过
w[i] = 0
# 两人一车
if w[i] < m:
if w[i] + w[j] <= m:
num += 1
# 标记为已被比较过
w[i] = 0
w[j] = 0
# 找到合适的i、j后,避免后续多余的比较,跳出内循环
break
print(num)
powershell
请输入双人公共自行车限重以及人数,以空格分开:3 4
请输入每个人的体重,以空格分开:3 2 2 1
3