포켓몬 카드 게임

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

요약
카드가 레어할 확률 p와 N단계 팩 구조가 주어질 때, 깊이 23↑↑23과 24↑↑24까지 중첩된 카드 팩이 레어할 확률을 각각 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 확률, 수학, 구현
정답자
아직 제출이 없습니다

문제

동우는 포켓몬 카드 게임을 좋아한다. 게임에 사용하는 포켓몬 카드에는 레어도라는 개념이 있는데, 어떤 카드가 레어할 확률은 pp이다. 동우는 이번 대회를 도와주는 조건으로 23학번 민재와 24학번 현민이에게 포켓몬 카드 팩을 각각 한 팩씩 선물 받았다.

포켓몬 카드 팩에는 단계가 있는데, 11단계 카드 팩은 NN장의 카드가 있고, 22단계 카드 팩은 11단계 카드 팩이 NN팩, 이런 식으로 i+1i+1단계 카드 팩은 ii단계 카드 팩이 NN팩 있다.

11단계 카드 팩을 열었을 때, 정확히 KK장의 카드가 레어한 경우에 해당 11단계 카드 팩을 레어하다고 정의한다. 이보다 많은 수의 카드가 레어하다면 그 카드 팩은 조작의 의심을 받기 때문이다. 마찬가지로 i+1i+1단계 카드 팩을 구성하는 NN팩의 ii단계 카드 팩 중 정확히 KK팩이 레어한 경우 해당 i+1i+1단계 카드 팩을 레어하다고 정의한다.

동우는 23학번 민재에게 23↑↑2323\uparrow\uparrow 23*단계 카드 팩, 24학번 현민이에게 24↑↑2424\uparrow\uparrow 24단계 카드 팩을 선물 받았다. 민재와 현민이가 선물해 준 카드 팩이 레어할 확률을 구해보자.


*a↑↑n:={1if n=0, aa↑↑(n−1)if n>0,{a\uparrow\uparrow n} :=\begin{cases}1&\text{if } n=0,\\\ a^{a\uparrow\uparrow(n-1)}&\text{if } n>0,\end{cases}로 정의된다. 예를 들어, 4↑↑3=444=42564\uparrow\uparrow 3=4^{4^4}=4^{256}이다.

입력

첫 번째 줄에 테스트 케이스의 개수 T(1≤T≤105)T(1\le T\le 10^5)가 주어진다.

각 테스트 케이스 별로 한 줄에 정수 N(1≤N≤1018)N(1\le N\le 10^{18}), KK와 카드가 레어할 확률을 나타내는 실수 p(0≤p≤1)p(0\le p\le 1)가 소수점 아래 99자리까지 공백으로 구분되어 주어진다.

출력

각 테스트 케이스 별로 한 줄에 민재와 현민이가 선물해 준 카드 팩이 레어할 확률을 공백으로 구분하여 출력한다.

정답과의 절대/상대 오차는 10−910^{-9}까지 허용한다.

예제1

  1. 예제 1

    입력
    10
    1 0 0.108108108
    1 1 0.124124124
    2 0 0.000000000
    2 1 0.108108108
    3 0 0.124124124
    3 0 0.814814814
    3 1 0.108108108
    4 1 0.124124124
    5 1 0.814814814
    5 2 0.500000000
    
    예상 출력
    0.891891892 0.108108108
    0.124124124 0.124124124
    1.000000000 0.000000000
    0.500000000 0.500000000
    1.000000000 0.000000000
    0.000000000 1.000000000
    0.422649731 0.422649731
    0.370039475 0.370039475
    0.331259695 0.331259695
    0.324653584 0.324653584