题解 | #数组分组# 深度优先递归if not l
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
# 深度优先递归
def dfs(l3,l5,l):
if not l: # 若 l 为空(若l不为空,则不执行该if语句,执行下两个)
if sum(l3)==sum(l5):
return True
else:
return False
if dfs(l3,l5+l[:1],l[1:]):
return True
if dfs(l3+l[:1],l5,l[1:]):
return True
while 1:
try:
n=int(input())
s=list(map(int,input().split()))
#print(s)
l3,l5=[],[]
l=[]
for i in s:
if i%3==0:
l3.append(i)
elif i%5==0:
l5.append(i)
else:
l.append(i)
#print(l3,l5,l)
if dfs(l3,l5,l):
print('true')
else:
print('false')
except:
break