题解 | #数组分组#

数组分组

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')

全部评论

相关推荐

Sigma429:极兔啊,薪资开的巨低,还在上海,索性不做笔试了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务