수 맞히기 게임
시간 제한1초메모리 제한1024 MB
구간 [x, y]와 숨은 수 k가 주어질 때, 중점 근처 좁은 구간에서 균등하게 추측할 때 끝날 때까지의 질문 횟수 기댓값을 구한다.
문제
원욱이와 성제는 수 맞히기 게임을 하고 있다. 게임은 다음과 같이 진행된다.
- 원욱이가 이상 이하의 정수 중에서 하나를 선택한다. 선택한 정수를 라고 하자. 성제는 와 가 얼마인지는 알지만, 의 값은 모른다.
- 성제가 이상 이하의 정수 중 하나를 부른다. 이것을 질문 회로 간주한다. 만약 부른 정수가 와 같다면 즉시 게임이 끝난다.
- 성제가 부른 정수가 와 다르다면 원욱이는 성제에게 부른 정수가 보다 큰지 작은지 알려준다.
- 게임이 끝날 때까지 2, 3번 과정을 반복한다.
여러 번 게임을 한 후, 성제는 질문 횟수를 줄이기 위해 다음과 같은 전략을 세웠다.
- 가 될 수 있는 범위가 이상 이하일 때, 구간 에서 임의로 정수 하나를 뽑아서 그 수를 부른다. 구간에서 각각의 정수가 뽑힐 확률은 동일하다.
여러분은 성제의 전략이 얼마나 효과가 있는지 알아내야 한다. 주어지는 , , 에 대하여 게임이 끝날 때까지 성제가 한 질문 횟수의 기댓값을 구하자!
입력
첫째 줄에 게임의 횟수 이 입력된다.
다음 개의 줄에는 각 게임에서 정해진 세 정수 , , 가 입력된다.
출력
개의 줄에 각 게임에서 성제가 한 질문 횟수의 기댓값을 하나씩 출력한다. 출력한 답과 정답의 절대/상대 오차가 이하이면 정답이다.