题意:给出n组xi,mi, 代表有n组数,x,x+1…x+m-1
求这所有数的^值
由于从1和从2开始连续异或值有规律。
1=1
1^2=3
1^2^3=0
1^2^3^4=4
1^2^3^4^5=1
…
四组一循环的规律..
然后就是 ^的性质了,相同为0,那么S(x-1)^ S(x+m-1)=x^x+1^…..^x+m-1的值了
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll;
ll s(ll x)
{
ll t=x&3;
if(t==1)return 1;
else if(t==2)return x+1;
else if(!t)return x;
else return 0;
}
int main()
{
int t;scanf("%d",&t);ll ans=0;
while(t--)
{
ll x,m;scanf("%lld%lld",&x,&m);
ans^=s(x-1)^s(x+m-1);
}
ans?puts("tolik"):puts("bolik");
}