DotA 예선
시간 제한1초메모리 제한256 MB
2^n명의 참가자 중 실력이 k번째인 Idned가 매 라운드 무작위로 짝지어질 때, 높은 실력자가 항상 이긴다는 가정 아래 그가 참가하는 라운드 수의 기댓값을 구한다.
문제
다가오는 시험 공부를 미루고, "Idned"라는 닉네임을 쓰는 학생이 거대한 DotA (Development of the Algorithms) 대회의 공개 예선에 참가하기로 했다. 예선은 명의 참가자가 겨루는 단일 탈락 토너먼트이고, Idned도 그중 한 명이다. 총 라운드가 진행된다. 매 라운드마다 남아 있는 다른 참가자들은 무작위로 짝을 지어 대결하며, 가능한 모든 짝 구성이 같은 확률로 나온다. 각 짝에서 두 참가자가 맞붙고, 진 쪽은 대회에서 탈락한다(이후 라운드에 참가하지 않는다).
모든 참가자는 서로 다른 레이팅을 가지며, Idned의 레이팅은 번째로 높다. Idned는 각 경기의 결과가 두 참가자의 레이팅만으로 완전히 결정되어 레이팅이 높은 쪽이 이긴다고 확신한다. 이 가정 아래에서, Idned가 참가하게 되는 라운드 수의 기댓값을 구할 수 있는가?
입력
입력은 두 정수 과 를 포함한다. 은 총 라운드 수이고, 는 전체 레이팅에서 Idned의 순위이다 (; ).
출력
기댓값을 출력한다.
답은 절대 오차 또는 상대 오차 이내여야 한다. 형식적으로, 답을 , 채점 결과를 라고 할 때 이면 정답으로 간주한다.