만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

우리 게임 한 판 할까?

시간 제한2초메모리 제한1024 MB

요약
버는 x를 골라 1부터 n까지 x의 배수 비율을 기약분수로 받아, 제한된 질의 횟수 안에 해밀턴의 양의 정수 n을 알아내야 합니다.
난이도

보통10점 중 7점

유형
수학, 정수론, 이분 탐색
정답자
아직 제출이 없습니다

문제

1804년 미국 부통령 애런 버는 여러 편의 문제가 된 팸플릿을 쓴 혐의로 주지사 선거 후보 알렉산더 해밀턴에게 도전했다.

버는 해밀턴을 죽인다 해도 자신의 평판을 잃고 경력이 무너진다는 것을 알 만큼 이성적이었다. 그래서 둘은 그냥 게임을 하기로 했다. 공정을 기하려고 게임은 gg번 하기로 했다.

각 게임은 해밀턴이 양의 정수 nn을 생각하면서 시작된다. 그다음 버가 그 수를 맞힌다. 버는 임의의 양의 정수 xx에 대해, 1부터 nn까지의 정수 중 xx로 나누어떨어지는 수의 비율을 해밀턴에게 물어볼 수 있다. 즉 xx를 묻면 ⌊n/x⌋n\frac{\lfloor n/x \rfloor}{n} 값을 받는다. 해밀턴은 이 값을 기약분수로 알려준다.

제한된 개수의 질문으로 버가 nn을 찾도록 도와라.

힌트

출력 형식을 엄격하게 따르시오. 무엇이든 출력한 뒤에는 반드시 줄바꿈을 하고 출력 버퍼를 비우시오. Pascal/Delphi에서는 flush(output), C/C++에서는 fflush(stdout) 또는 cout.flush(), Python에서는 sys.stdout.flush(), Java에서는 System.out.flush()를 사용할 수 있다.

예제1

  1. 예제 1

    입력
    2
    
    1 2
    
    3 10
    
    1 5
    
    1 5
    
    1 10
    
    1 10
    
    0 1
    
    Correct
    
    1 1
    
    0 1
    
    Correct
    
    예상 출력
    
    X 2
    
    X 3
    
    X 5
    
    X 4
    
    X 6
    
    X 10
    
    X 11
    
    N 10
    
    X 1
    
    X 2
    
    N 1