// 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; }
No comments:
Post a Comment