题解 | #数组分组#
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
import itertools import sys n = int(input()) lst = list(map(int,input().split())) m = sum(lst)/2 #分组:3的倍数、5的倍数、其它 lst3,lst5,lst0=[],[],[] for i in range(n): if lst[i]%3 == 0: lst3.append(lst[i]) elif lst[i] % 5 == 0: lst5.append(lst[i]) else: lst0.append(lst[i]) #判断 if lst0: for r in range(1,len(lst0)+1): for i in list(itertools.combinations(lst0,r)): #print(i) if lst3: if sum(lst3) + sum(i) == m: print('true') sys.exit() elif lst5: if sum(lst5) + sum(i) == m: print('true') sys.exit() elif sum(i) == m: print('true') sys.exit() elif lst3 and sum(lst3) == m: print('true') sys.exit() elif lst5 and sum(lst5) == m: print('true') sys.exit() print('false')