当前位置:   article > 正文

【华为od机试】约瑟夫问题-Python3_篮球(5v5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍

篮球(5v5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍

■ 题目描述

篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。
现有10个球员准备分为两队进行训练赛,教练希望2个队伍的战斗力差值能够尽可能的小,以达到最佳训练效果。
给出10个球员的战斗力,如果你是教练,你该如何分队,才能达到最佳训练效果?请说出该分队方案下的最小战斗力差值。
输入描述:

10个篮球队员的战斗力(整数,范围[1,10000]),战斗力之间用空格分隔,如:10987654321

不需要考虑异常输入的场景。

输出描述:

最小的战斗力差值,如:1

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

10 9 8 7 6 5 4 3 2 1

输出

1

import itertools

# ns = '10 9 8 7 6 5 4 3 2 1'

ns = '11 9 10 20 1 5 4 33 2 1'

if __name__ == '__main__':
	# 如果题目直接给出数字,用这条就可以
    # candidates = [11,9,1,2,50,5,4,3,2,1]
	
	#如果输入给的是字符串,需要自己处理一下
    candidates=list(map(int,ns.split()))

    res = []
    for i in itertools.combinations(candidates,5):
        ans = abs(sum(candidates)-sum(i)-sum(i))
        res.append(ans)
    print(min(res))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/450535
推荐阅读
相关标签
  

闽ICP备14008679号