Logo
(追記) (追記ここまで)

25557번 - 수 맞히기 게임 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB278957935.747%

문제

원욱이와 성제는 수 맞히기 게임을 하고 있다. 게임은 다음과 같이 진행된다.

  1. 원욱이가 $x$ 이상 $y$ 이하의 정수 중에서 하나를 선택한다. 선택한 정수를 $k$라고 하자. 성제는 $x$와 $y$가 얼마인지는 알지만, $k$의 값은 모른다.
  2. 성제가 $x$ 이상 $y$ 이하의 정수 중 하나를 부른다. 이것을 질문 1ドル$회로 간주한다. 만약 부른 정수가 $k$와 같다면 즉시 게임이 끝난다.
  3. 성제가 부른 정수가 $k$와 다르다면 원욱이는 성제에게 부른 정수가 $k$보다 큰지 작은지 알려준다.
  4. 게임이 끝날 때까지 2, 3번 과정을 반복한다.

여러 번 게임을 한 후, 성제는 질문 횟수를 줄이기 위해 다음과 같은 전략을 세웠다.

  • $k$가 될 수 있는 범위가 $a$ 이상 $b$ 이하일 때, 구간 $[\max(a,\lceil\frac{a+b}{2}-1\rceil),\min(b,\lfloor\frac{a+b}{2}+1\rfloor)]$에서 임의로 정수 하나를 뽑아서 그 수를 부른다. 구간에서 각각의 정수가 뽑힐 확률은 동일하다.

여러분은 성제의 전략이 얼마나 효과가 있는지 알아내야 한다. 주어지는 $x,ドル $y,ドル $k$에 대하여 게임이 끝날 때까지 성제가 한 질문 횟수의 기댓값을 구하자!

입력

첫째 줄에 게임의 횟수 $N$이 입력된다. $(1 \le N \le 100,000円)$

다음 $N$개의 줄에는 각 게임에서 정해진 세 정수 $x,ドル $y,ドル $k$가 입력된다. $(-1,200円 \le x \le k \le y \le 1,200円)$

출력

$N$개의 줄에 각 게임에서 성제가 한 질문 횟수의 기댓값을 하나씩 출력한다. 출력한 답과 정답의 절대/상대 오차가 10ドル^{-7}$ 이하이면 정답이다.

제한

예제 입력 1

5
2 6 3
7 9 8
-1 0 0
4 8 4
5 5 5

예제 출력 1

2.1666666667
2
1.5
2.4444444444
1

힌트

출처

University > 신촌지역 대학생 프로그래밍 대회 동아리 연합 > 2022 신촌지역 대학생 프로그래밍 대회 동아리 연합 여름 대회 (SUAPC 2022 Summer) A번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /