아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

맛있는 과자

시간 제한1초메모리 제한512 MB

요약
다리가 a와 b인 직각삼각형에서 빗변에 내린 수선을 따라 모든 조각을 N번 나눈 뒤 K번째로 큰 조각의 넓이에 자연로그를 취해 출력합니다.
난이도

보통10점 중 5점

유형
조합론, 기하, 수학
정답자
아직 제출이 없습니다

문제

엘리가 좋아하는 과자는 직각삼각형 모양이고, 빗변을 제외한 두 변의 길이가 각각 aa와 bb이다. 어느 날 엘리는 이 과자를 아주 많이 먹는 방법을 떠올렸다.

직각인 꼭짓점에서 빗변에 수선을 내려 그 선을 따라 자르면 과자 한 조각이 직각삼각형 두 조각으로 나뉜다. 이렇게 잘라도 과자의 총 면적은 그대로지만, 어린 엘리는 과자가 두 개가 되었다는 사실만으로 기뻤다. 두 조각을 같은 방법으로 다시 자르면 네 조각, 그다음에는 여덟 조각이 된다. 직각삼각형 과자 하나로 시작해서 가진 조각을 모두 자르는 일을 NN번 반복하면 조각은 2N2^N개가 된다. 엘리는 이미 이 과정을 NN번 마쳤고, 지금 2N2^N개의 조각을 가지고 있다.

조각이 너무 많다고 생각한 엘리는 면적이 KK번째로 큰 조각 하나를 피터에게 주기로 했다. 피터가 받을 조각의 면적을 구하는 프로그램을 작성하라.

입력

첫 줄에 자연수 aa, bb, NN, KK가 공백 하나로 구분되어 주어진다. (1≤a,b≤1001 \le a, b \le 100, 1≤N≤401 \le N \le 40, 1≤K≤2N1 \le K \le 2^N)

출력

피터가 받을 조각의 면적을 SS라고 할 때, 첫 줄에 ln⁡S\ln S를 출력한다. 면적 자체는 매우 작아질 수 있어서 면적 대신 자연로그 값을 출력한다. 소수점 아래를 정확히 아홉 자리로 반올림해서 적고, 자리가 비면 0으로 채운다.

예제3

  1. 예제 1

    입력
    3 4 1 1
    
    예상 출력
    1.345472367
    
  2. 예제 2

    입력
    3 4 1 2
    
    예상 출력
    0.770108222
    
  3. 예제 3

    입력
    1 1 40 1
    
    예상 출력
    -28.419034403