您的位置:首页 > 其它

hpu1189--Ou à(思维)

2017-08-22 09:01 183 查看


题目描述

Ou à是什么东东?


华丽的分割线?233333......

Ocean的小学弟学习了新的二进制运算异或"^"。
对于0、10、1二进制位而言,异或运算结果如下:
0 ^ 0 = 0,0
^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0
即相同为00,不同为11。

这天,Ocean的小学弟给了HPU一个等式x ^ y = z,并提出了一个问题:如果知道了yy和zz的值,xx的值是否可以唯一确定?(要求x>=0x>=0)
Ocean正在疯狂的debug,没有时间去思考,所以找你来帮助他的小学弟。


输入

第一行输入一个整数TT,代表有TT组测试数据。
每组数据输入两个整数y、zy、z,代表上面提到的信息。

注:1<=T<=1000,1<=y,z<=108。1<=T<=1000,1<=y,z<=108。


输出

对每组测试数据,若xx的值无法唯一确定或者不存在,则输出−1−1,反之输出xx的值。


样例输入

2
1 2
2 3


样例输出

3
1


来源

CZY

解题思路:这道题解体的关键是x=y^z,做题的时候脑子短路了

,应该多写几组试试。

#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int x,y,z;
scanf("%d %d",&y,&z);
x=y^z;
if(x>=0)
printf("%d\n",x);
else
printf("-1\n");

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: