소울메이트 찾기
시간 제한1초메모리 제한1024 MB
각 쌍마다 첫 번째 정수를 두 번째 정수로 만드는 데 필요한 최소 연산 횟수(2배, 2로 나누기, 1 더하기)를 구합니다.
문제
Farmer John의 소들은 각각 자신의 소울메이트를 찾고 싶어 한다. 소울메이트는 성격이 비슷하면서 궁합이 가장 잘 맞는 다른 소이다. 각 소의 성격은 정수 ()로 나타낸다. 성격이 같은 두 소는 소울메이트이다. 소는 변화 연산으로 성격을 바꿀 수 있다. 변화 연산은 2를 곱하기, 가 짝수일 때 2로 나누기, 1 더하기 중 하나이다.
Farmer John은 소들을 임의의 방식으로 짝짓는다. 각 짝을 소울메이트로 만들려면 몇 번의 변화 연산이 필요한지 알고 싶어 한다. 각 짝마다 첫 번째 소가 두 번째 소와 소울메이트가 되기 위해 필요한 변화 연산의 최소 횟수를 구하라.
입력
첫 번째 줄에 짝의 개수 ()이 주어진다. 이어지는 개의 줄에는 각각 두 소의 성격을 나타내는 정수 두 개가 주어진다. 첫 번째 수는 두 번째 수와 같아지도록 변화시켜야 하는 소의 성격이다.
출력
개의 줄을 출력한다. 각 짝에 대해, 첫 번째 소가 자신의 성격을 두 번째 소의 성격과 같게 만드는 데 필요한 연산의 최소 횟수를 출력한다.
힌트
첫 번째 테스트 케이스에서 최적의 변화 순서는 이다.
두 번째 테스트 케이스에서 최적의 변화 순서는 이다.