概述
2019ICPC 徐州 A题
题解:打表过后可以发现连续的4个异或为0,所以小区间直接暴力,大区间我们来移动我们的左右端点来进行枚举就行了 。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int inf=0x3f3f3f3f3f3f3f3f;
int solve(int l,int r)
{
int res=0;
if(r-l+1<=10){
for(int i=l;i<=r;i++) res^=i;
return res;
}
else {
while(l%4!=0){
res^=l;
l++;
}
while(r%4!=3){
res^=r;
r--;
}
return res;
}
}
signed main()
{
int t; scanf("%lld",&t);
while(t--){
int res=-1;
int a,b,c; scanf("%lld%lld%lld",&a,&b,&c);
for(int i=0;i<=3;i++){
for(int j=0;j<=3;j++){
int L=a+i;
int R=b-j;
if(solve(L,R)<=c)
res=max(res,R-L+1);
}
}
if(res!=0) printf("%lldn",res);
else puts("-1");
}
}
最后
以上就是犹豫美女为你收集整理的2019ICPC 徐州 A题2019ICPC 徐州 A题的全部内容,希望文章能够帮你解决2019ICPC 徐州 A题2019ICPC 徐州 A题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复