CF1981B 题解
题目描述
在每个元素
解题思路
本题的
每一个点每次最多移动一格,所以我们要求的范围是从
我们可以从高位到低位一位位地判断,每一次发现符合条件就更新一次答案。
AC CODE
#include<bits/stdc++.h>
using namespace std;
int t,a,b,ans;
int main(){
scanf("%d",&t);
while(t--){
ans=0;
scanf("%d%d",&a,&b);
for(int i=30;i>=0;--i)
if((a+b)>>i&1||max(0,a-b)>>i&1||(a+b-max(0,a-b)>=(1<<i)))//特判
ans|=(1<<i);//更新答案
printf("%d\n",ans);
}
return 0;
}