abc

 avatar
unknown
c_cpp
2 years ago
1.3 kB
3
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...