해밍 거리
시간 제한1초메모리 제한1024 MB
A 이상 B 이하의 정수 두 개를 골라 이진수로 나타냈을 때 서로 다른 비트 위치가 최대가 되는 쌍을 찾는다.
문제
두 정수의 해밍 거리란, 각각을 이진수로 나타내었을 때 비트가 서로 다른 위치의 개수를 의미한다.
예를 들어, 와 의 해밍 거리를 구해 보자.
의 자리와 의 자리에서 비트가 서로 다르므로 해밍 거리는 이다.
두 수의 자릿수가 다르다면 상위 비트에 을 붙여서 비교한다. 예를 들어, 과 의 해밍 거리를 구해 보자.
의 자리에서 비트가 서로 다르므로 해밍 거리는 이다.
이상 이하의 정수 중에서, 해밍 거리가 최대인 두 정수를 구하시오.
입력
정수 와 가 공백으로 구분되어 주어진다.
, 가 32비트 정수 범위를 넘을 수 있음에 주의하라.
출력
이상 이하의 정수 중에서, 해밍 거리가 최대인 두 정수를 공백으로 구분하여 출력한다.
그러한 정수 쌍이 여러 개라면 그중 아무거나 하나만 출력한다.
힌트
첫 번째 예제의 출력을 이진수로 나타내면 다음과 같다.
각 위치의 비트를 비교했을 때 서로 다른 비트의 수는 개이므로 해밍 거리는 이며, 이것이 최대이다.
두 번째 예제의 출력을 이진수로 나타내면 다음과 같다.
각 위치의 비트를 비교했을 때 서로 다른 비트의 수는 개이므로 해밍 거리는 이며, 이것이 최대이다.