10.分积木----OD

文章讲述了兄弟俩SOLo和KOLo用二进制计算分配积木的故事,SOLo的目标是最大化自己积木重量,而KOLo要求两人重量相等但不考虑进位。通过异或操作判断是否能实现平衡,若不能则输出-1,否则计算并输出SOLo的最大积木重量。
摘要由CSDN通过智能技术生成
# solo和kolo是两兄弟,妈妈给了她们一大堆积木,,每块积木上都有自己的重量
# 现在她们想要将这些积木分为两堆,哥哥solo负责分配,弟弟kolo要求两个人获得的积木总重量相等
# 根据kolo的逻辑,个数可以不同,不然就会哭,但kolo只会先将两个数转成二进制在进行加法,而且总会忘记进位(每个进位都会忘记)
# 如当25(11101)+11(1011)时,kolo得到的计算结果是18(10010):11001+01011 =10010
# solo想要尽可能让自己得到的积木总重量最大,且不让kolo哭
# 输入:让kolo不哭,输入solo所能获得的积木的最大总重量 否则输出'NO'
# 输入:
# 3
# 3 5 6
# 输出:11



# n = int(input())
# nums = list(map(int, input().split()))
n = 3
nums = [3, 5, 6]

start = nums[0]
for i in range(1, n):
    start ^= nums[i]  # ^=异或相同得0,不同得1
if start != 0:
    print(-1)
else:
    print(sum(nums) - min(nums))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值