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