지도 생성기의 귀환 (MG-II)

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

당신은 방금 FAMI 알고리즘(이전 과제 「지도 생성기」를 참고하세요) 연구를 마쳤습니다. 스스로가 매우 자랑스럽고 이번 달 보너스까지 기대하고 있습니다. 상사인 Dean이 잠깐 사무실로 오라고 합니다. 감사 인사와 승진을 기대했지만…

「이게 뭐죠?」 Dean이 당신의 최신 보고서를 보여 주며 묻습니다.

「음, 그게, 이건 제 FAMI 알고리즘 연구 결과인데요…」 하고 답합니다. 곧 승진할 거라는 꿈은 그저 꿈이었나 봅니다. 하지만 보고서의 무엇이 잘못됐는지는 여전히 모르겠습니다.

「나도 읽을 줄은 압니다.」 Dean이 말을 잇습니다. 「내가 말하는 건 절대 오차예요. 왜 이렇게 큰 거죠? 더 정확한 결과가 필요합니다!」

상사와 다툴 때 가장 좋은 무기는 침묵입니다. 그래서 보너스와 승진 대신, 당신은 프로그램을 다시 작성해야 합니다.

FAMI 알고리즘은 다음과 같이 지도를 만듭니다. 지도에는 NN개의 장소가 있습니다. 서로 다른 두 장소로 이루어진 모든 쌍(총 (N2)\binom{N}{2}개) 각각에 대해, 서로 독립적으로 확률 PP로 그 두 장소를 잇는 양방향 도로를 놓습니다. 만들어진 지도가 「연결되어 있다」는 것은 임의의 두 장소 사이를 도로만 이용해 오갈 수 있다는 뜻입니다. FAMI가 연결된 지도를 생성할 확률을 구하세요.

입력

입력은 두 줄로 이루어집니다. 첫째 줄에는 정수 NN (1N201 \le N \le 20)이 주어지고, 둘째 줄에는 실수 PP (0P10 \le P \le 1)가 주어집니다.

출력

FAMI가 연결된 지도를 생성할 확률을, 소수점 아래 정확히 1010자리까지 반올림하여 한 줄에 출력하세요.