// UVa 10666 - The Eurocup is Here!
#include <iostream>
using namespace std;
#define datatype unsigned long long
int main() {
datatype p[31];
p[0] = 1;
for (int i = 1; i < 31; i++)
p[i] = p[i - 1] << 1;
int t;
for (cin >> t; t; t--) {
int n;
datatype m;
cin >> n >> m;
int ones = 0;
datatype j = m;
for (int i = 0; i < n; i++) {
if (j % 2 == 1)
ones++;
j = j >> 1;
}
datatype zeros = 0;
j = m;
for (int i = 0; i < n; i++) {
if (j % 2 == 1)
break;
zeros += p[i];
j = j >> 1;
}
cout << ones + 1 << " " << p[n] - zeros << endl;
}
return 0;
}
Tuesday, September 1, 2015
UVa 10666 - The Eurocup is Here!
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment