题解 | #数组分组#
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
#解题区好像没有这么写的,其实问题的模型可以这么理解
#数组拆分成[3,6,9**],[5,10,15**][a,b,c]那么有这么几种可能3+6+9+..+a+b+c=5+10+15....或者3+6+9+..-a+b+c=5+10+15....或者3+6+9+..-a-b+c=5+10+15....
#也就是说是处理a,b,c穷举加减法等于3倍数组和5倍数组差值,这样就简单了.
n=int(input())
l=[int(i) for i in input().split()]l5,l3,l_3_5=[],[],[]
for ele in l:
if ele%5==0:
l5.append(ele)
elif ele%3==0:
l3.append(ele)
else:
l_3_5.append(ele)
def func(l,n):
if len(l) == 0:
return True if 0==n else False
return func(l[1:],n+l[0]) or func(l[1:],n-l[0])
a=func(l_3_5,sum(l5)-sum(l3))
if a:
print('true')
else:
print('false')