abc
unknown
c_cpp
3 years ago
1.3 kB
7
Indexable
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<bitset>
#include<cstring>
#include<algorithm>
#include<map>
#include<string>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll read() {
ll x=0,f=1;char c=getchar();
while(c<'0'||c>'9') {
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9') {
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int main() {
freopen("guess.in", "r", stdin);
freopen("guess.out", "w", stdout);
int T = read();
while(T--) {
ull a,b;
cin>>a>>b;
int now = 0,ans = 0;
if(b & 1) {
printf("1 0\n");
continue;
}
if(a & 1) {
printf("1 1\n");
continue;
}
if (a % 4 != 0) {
printf("1 1\n");
continue;
}
now = 1;
ull ta = 2, tb = 1; // 已知 a/ta为偶数,b/tb为偶数
while (1) {
now ++;
if (b % (2 * ta * 2) != 0) { // a/ta为偶数,判断b/(2*ta)是否为偶数
ans = 0; break;
}
else {
tb *= 4;;
}
if (a % (2 * tb * 2) != 0) { //b/tb为偶数,判断a/(2*tb)是否为偶数
ans = 1; break;
}
else {
ta *= 4;
}
}
printf("%d %d\n",now,ans);
}
return 0;
}Editor is loading...