import sys
import itertools
for line in sys.stdin:#获取输入
a = line.split()
ele = int (a[0])
del (a[0])
a = list (map (int, a))
flag=0
sumA=0
for i in range(0,len(a)):
sumA+=a[i]
if sumA<ele:
print ('-1')
else:
for i in range(1,len(a)+1):
for select in itertools.combinations(a, i):
sum = 0
for j in range(0,len(select)):
sum += select[j]
if sum == ele:
flag = 1
print(i)
break
if flag==1:
break
if flag == 1:
break
if flag==0:
print ('-1')
浦发银行算法接力赛总结/python语言/算法+建模/用户行为预测-07算法:曹冲称象
最新推荐文章于 2024-04-27 22:03:33 发布
这段代码从标准输入读取数据,然后解决一个与组合有关的问题。它计算并打印出能够加起来等于给定整数的元素子集的大小。如果找不到这样的子集,输出-1。涉及到的编程概念包括迭代、条件判断、组合计算和标准库函数的使用。
摘要由CSDN通过智能技术生成