#P4574. [CQOI2013] 二进制A+B

    ID: 3544 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>动态规划,dp2013重庆各省省选枚举进制

[CQOI2013] 二进制A+B

题目描述

输入三个整数 a,b,ca, b, c,把它们写成无前导 00 的二进制整数。

比如 a=7,b=6,c=9a=7, b=6, c=9,写成二进制为 a=(111)2,b=(110)2,c=(1001)2a=(111)_2, b=(110)_2, c=(1001)_2

接下来以位数最多的为基准,其他整数在前面添加前导 00,使得 a,b,ca, b, c 拥有相同的位数。比如在刚才的例子中,添加完前导 00 后为 a=(0111)2,b=(0110)2,c=(1001)2a=(0111)_2, b=(0110)_2, c=(1001)_2

最后,把 a,b,ca, b, c 的各位进行重排,得到 a,b,ca', b', c',使得 a+b=ca'+b'=c'。比如在刚才的例子中,可以这样重排:a=(0111)2,b=(0011)2,c=(1010)2a'=(0111)_2, b'=(0011)_2, c'=(1010)_2

你的任务是让 cc' 最小。如果无解,输出 1-1

输入格式

输入仅一行,包含三个整数 a,b,ca, b, c

输出格式

输出仅一行,为 cc' 的最小值。

7 6 9
10

提示

对于所有的测试数据,a,b,c230a,b,c \le 2^{30}