题解 | #数组分组#

数组分组

https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

import sys,itertools

for line in sys.stdin:
    a = list(map(int,line.split()))
grp1, grp2,grp3 = [], [], []
total = sum(a) / 2
n = len(a)
for i in range(n):
    if a[i] % 3 == 0 and a[i] % 5 != 0:
        grp1.append(a[i])
    elif a[i] % 5 == 0:
        grp2.append(a[i])
    else:
        grp3.append(a[i])
res1 = total - sum(grp1)
if res1 == 0:
    print('true')
else:
    could = False
    for i in range(1,len(grp3)+1):
        com = itertools.combinations(range(len(grp3)),i)
        for k in com:
            summation = sum([grp3[j] for j in k])
            if summation == res1:
                could = True
    if could:
        print('true')
    else:
        print('false')

思路:

首先按照要求拆分两组,将不属于任意一组的放在第三组,进行组合遍历,如果求和后能够满足条件,则输出true,否则false

全部评论

相关推荐

04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
不懂!!!:感觉你的项目描述太简单了,建议使用star描述法优化提炼一下,就是使用什么技术或方案解决了什么问题,有什么效果或成果,例如:对axios进行了二次封装,实现了请求的统一管理、错误的集中处理以及接口调用的简化,显著提高了开发效率和代码维护性,使用canvas技术实现了路线绘制功能,通过定义路径绘制函数和动态更新机制,满足了简化的导航可视化需求,提升了用户体验。像什么是使用其他组件库,基本功能描述就最好不要写到项目成果里面去了,加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务