测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16661. Bitwise Reversion

编程题 普及-
知识点

题目描述

给定三个非负整数 $x$,$y$ 和 $z$,判断是否存在三个非负整数 $a$、$b$、$c$,满足以下三个条件:

- $a \mathbin{\&} b = x$
- $b \mathbin{\&} c = y$
- $a \mathbin{\&} c = z$

其中 $\mathbin{\&}$ 表示[按位与运算](https://en.wikipedia.org/wiki/Bitwise_operation#AND)。

输入格式

输入包含多组测试数据。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试数据的组数。

接下来每组测试数据占一行,每行包含三个整数 $x$、$y$ 和 $z$($0 \leq x, y, z \leq 10^9$),分别表示 $a \mathbin{\&} b$、$b \mathbin{\&} c$ 和 $a \mathbin{\&} c$ 的目标值。

输出格式

对于每组测试数据,如果存在符合条件的三个非负整数 $a$、$b$、$c$,输出 "YES";否则输出 "NO"。

输出可以使用任意大小写形式,例如 "yEs"、"yes"、"Yes" 和 "YES" 都被认为是正答。

输入输出样例

输入 #1
5
1 1 1
3 2 6
4 8 12
9 10 12
12730 3088 28130
输出 #1
YES
YES
NO
YES
NO

说明/提示

在第一个测试样例中,$a=3$,$b=5$,$c=9$ 满足条件:$3 \mathbin{\&} 5 = 1$,$5 \mathbin{\&} 9 = 1$,$3 \mathbin{\&} 9 = 1$。

在第二个测试样例中,$a=7$,$b=3$,$c=22$ 满足条件:$7 \mathbin{\&} 3 = 3$,$3 \mathbin{\&} 22 = 2$,$7 \mathbin{\&} 22 = 6$。

在第三个测试样例中,可以证明不存在非负整数 $a$、$b$、$c$ 使得 $a \mathbin{\&} b = 4$,$b \mathbin{\&} c = 8$,$a \mathbin{\&} c = 12$。
上一题 去做题 下一题