- 无聊的异或
讲解
- 2025-1-7 13:47:50 @
#include<bits/stdc++.h>
using namespace std;
unsigned long long a,b;//2的64次方 要用ull不然会爆
signed main(){
cin>>a>>b;
//思路:根据x xor y == y - x解方程组
//x xor y=y-x
//a=x+y
//b=y-x
//a+b=2y
//y=a+b/2
//x=a-y
if((a+b)%2!=0){//x+y<y-x 2x<0 不存在 (a+b)%2!=0 证明(a+b)/2非整数
cout<<"-1";
return 0;
}
cout<<a-((a+b)/2)<<" "<<(a+b)/2;//输出xy
return 0;
}
1 comments
-
C24tanhaolun LV 6 @ 2025-1-7 13:48:47Edited
至于这个x^y为什么等于y-x 这个我也不知道aaa
反正记住这个结论就对了
- 1
Information
- ID
- 952
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 8
- Tags
- (None)
- # Submissions
- 176
- Accepted
- 27
- Uploaded By