编程介的小学生 2017-05-30 07:35 采纳率: 20.5%
浏览 717
已采纳

Bitland

Problem Description
很久很久以前曾经有一个古老的国度叫做bitland,bitland原本是三个小的国家,and, or, xor, 他们分别由各自的君主anddy, orry, xorry统治着,后来在三个君主的协商下,合并为一个共同的国家,并由三个君主共同制定宪法,在制定法律时,需要采用某种方式来管理三个国家的人口关系,为了体现自己国家的个性,三个君主分别制定了一条规则。分别是,三个国家的人口数and起来必须为0,三个国家的人口数or起来并取补必须为0,三个国家的人口数xor起来并取补必须为0.
这个联盟维持了上百年的时间,最终还是因为三个君主利益不合的问题而发生了分裂,战争爆发了,没有人知道一共经历了多少场大大小小的战斗。但古老的羊皮卷记载着战争的一些琐碎:bitland的每一个臣民都参加拿起了武器,参加到战斗中,每一个国家都将他们的所有人口编为很多小队,为了方便管理和记录,每个小队的人数必须是2的方幂(别忘了他们采用2进制计数),另外在分队时还会使小队的数目尽量地少。
当两个国家爆发一场战斗,他们派出各自的人数最少的一个小队,他们的战斗没有任何战术可言,人多的一方一定会胜利,并俘虏敌方的整个小队成为自己的战斗力,并将俘虏带回自己的国家。另外如果一个小队到达另外一个国家时,那个国家已经没有任何人口,他们就会生出反叛之心,自己占领那个国家。
几亿年后,战争终于结束了,三个国家又重归于好,bitland的臣民又过上了幸福的生活,没有人再提起那场战争,你是bitland的一个考古学家,当你从祖父口中偶然得知了这场辉煌的战争,你决定要去走访bitland的每一个角落,去了解这场战争的每一个细节。第一步,你必须去了解一共发生了多少场战斗。你查找古老的羊皮卷,得知了战争开始前每个国家有多少人口,并统计到了战争结束时三个国家的人口数,你现在希望算出至少发生过多少场战争。

Input
六行分别是六个整数,x1,y1,z1,x2,y2,z2,分别代表战争前和战争后三个国家的人口数(小于2*10^18) 若全为零则结束输入

Output
一个整数,即最少一共经历了多少战争(小于2*10^18);

Sample Input
1 0 0 0 0 1

Sample Output
1

  • 写回答

1条回答

  • threenewbee 2017-06-19 16:50
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波