HackerEarth Monk and his Friend problem solution

In this HackerEarth Monk and his Friend, problem-solution Monk has a very good friend, Puchi. As weird as his name, are the games he plays.
One fine day, they decided to play a game to test how diverse their choices are. Both of them choose exactly one integer each. Monk chooses an integer M and Puchi chooses an integer P.
The diversity of their choices is defined as the number of bits whose status is different in the binary representation of M and P, i.e., count of bits that are, either set in M and unset in P or set in P and unset in M.
Find the answer to their game.

HackerEarth Monk and his Friend problem solution

HackerEarth Monk and his Friend's problem solution.


using namespace std;

#define rep(i,n) for(i=0;i<n;i++)
#define ll long long
#define elif else if
#define pii pair<int,int>
#define mp make_pair
#define pb push_back
#define CLEAR(array, value) memset(ptr, value, sizeof(array));
#define si(a) scanf("%d", &a)
#define sl(a) scanf("%lld", &a)
#define pi(a) printf("%d", a)
#define pl(a) printf("%lld", a)
#define pn printf("\n")

ll int foo(ll int n)
ll int count = 0;
count += n & 1;
n >>= 1;
return count;

int main()
int t;
assert(1<=t && t<=10000);
ll int a,b;
assert(0<=a && a<=10000000000000000);
assert(0<=b && b<=10000000000000000);
a= a^b;
return 0;

Second solution

#include <bits/stdc++.h>
using namespace std;

int main()
int T; cin >> T; assert(T>=1 && T<=10000);
for (int g=0; g<T; g++){
long long a, b; cin >> a >> b;
assert (a>=0 && a<=1e16);
assert (b>=0 && b<=1e16);
cout << __builtin_popcountll (a^b) << '\n';
return 0;

Post a Comment