题目大意
有三个整数$A$、$B$、$C$,以下用$N_{(2)}$表示$N$的二进制(没有前导$0$)。
设$A_{(2)}$、$B_{(2)}$、$C_{(2)}$的最大长度为$L$($L \leqslant 30$),你需要构造三个正整数$X$、$Y$、$Z$,满足以下条件:
(1)$ X_{(2)}$、$Y_{(2)}$、$Z_{(2)}$的长度都不超过$L$。
(2) $A_{(2)}$与$X_{(2)}$中$1$的个数相同。
(3) $B_{(2)}$与$Y_{(2)}$中$1$的个数相同。
(4) $C_{(2)}$与$Z_{(2)}$中$1$的个数相同。
(5) $X+Y=Z.$。
给你$A$,$B$,$C$,你需要求出最小的满足条件的$Z$。如果不存在满足条件的$Z$,那么输出$-1$。
题解