CF2020C.Bitwise Balancing

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

位运算平衡

给定三个非负整数 $ b $ 、$ c $ 和 $ d $ 。

请找到一个非负整数 $ a \in [0, 2^{61}] $ 使得 $ (a, |, b)-(a, &, c)=d $ ,其中 $ | $ 和 $ & $ 分别表示按位或运算和按位与运算。

如果存在这样的 $ a $ ,请输出它的值。如果没有解,请输出整数 $ -1 $ 。如果存在多个解,输出其中任意一个。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $ t $ ( $ 1 \le t \le 10^5 $ )。每个测试用例的描述如下。

每个测试用例的唯一一行包含三个正整数 $ b $ 、$ c $ 和 $ d $ ( $ 0 \le b, c, d \le 10^{18} $ )。

输出格式

对于每个测试用例,输出 $ a $ 的值,或者如果没有解则输出 $ -1 $ 。请注意,$ a $ 必须是非负数,并且不能超过 $ 2^{61} $ 。

输入输出样例

  • 输入#1

    3
    2 2 2
    4 2 6
    10 2 14

    输出#1

    0
    -1
    12

说明/提示

在第一个测试用例中,$ (0,|,2)-(0,&,2)=2-0=2 $ 。因此,$ a = 0 $ 是一个正确答案。

在第二个测试用例中,没有任何值 $ a $ 满足方程。

在第三个测试用例中,$ (12,|,10)-(12,&,2)=14-0=14 $ 。因此,$ a = 12 $ 是一个正确答案。

输入解题思路,AI测评打分。不知道怎么写?

首页