모든 양의 유리수를 한 번씩 나열하는 무한 이진 트리에서 n번째 분수와 주어진 분수의 레벨 순서 위치를 구합니다.
보통6수학정수론비트 연산트리아직 제출이 없습니다시간 제한5초메모리 제한512 MB루트가 1/1인 무한 완전 이진 트리를 생각한다. 노드 p/q의 왼쪽 자식은 p/(p+q)이고, 오른쪽 자식은 (p+q)/q이다. 트리의 위쪽 부분은 다음과 같다.
1/1
______|______
| |
1/2 2/1
___|___ ___|___
| | | |
1/3 3/2 2/3 3/1
...
모든 양의 유리수는 이 트리에 정확히 한 번씩 나타난다. 트리를 레벨 순서로 방문하면 다음 배열을 얻는다.
1/1, 1/2, 2/1, 1/3, 3/2, 2/3, 3/1, ...
두 가지 질문에 답한다.
첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 질문 번호(1 또는 2)와 정수 한 개 또는 두 개로 이루어진다.
테스트 케이스마다 한 줄을 출력한다.
Case #x: p q를 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, p와 q는 구한 원소의 분자와 분모이다.Case #x: n을 출력한다. x는 테스트 케이스 번호이고, n은 주어진 수의 위치이다.