만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

여우 라벨링

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

요약
n마리의 여우와 각 여우의 초기 색깔, 그리고 정수 k가 주어질 때, 무작위로 k마리씩 표지를 붙이는 과정이 모든 여우를 구별할 때까지 걸리는 기대 시간을 구합니다.
난이도

어려움10점 중 8점

유형
확률, 조합론, 동적 계획법
정답자
아직 제출이 없습니다

문제

Bytica는 생물 탐사 활동을 하고 있다. 지금 그녀에게는 실험에 쓸 색깔 있는 여우 nn마리가 있다. 다만 문제가 하나 있다. 같은 색 여우는 완전히 구별할 수 없다.

Bytica는 여우에 색 라벨을 붙이려고 한다. 모든 여우 쌍이 구별될 때까지 그녀는 다음 과정을 반복한다.

  • 아직 사용하지 않은 색을 하나 고른다(여우의 원래 색으로도 쓰이지 않은 색이어야 한다).
  • 우리에서 여우 kk마리를 무작위로 뽑는다. 크기가 kk인 부분집합은 모두 같은 확률로 뽑힌다.
  • 뽑힌 여우 각각에 고른 색의 라벨을 붙인다.

각 과정(세 단계)은 정확히 1분이 걸린다.

두 여우는 색이 다르거나, 라벨 색들의 집합이 다르면 구별 가능하다.

Bytica가 확신하지 못하는 것은 모든 여우 쌍이 구별될 때까지 걸리는 기대 시간뿐이다. 이 값을 계산하는 프로그램을 작성하라.

입력

입력은 두 줄로 이루어진다. 첫 번째 줄에는 정수 nn과 kk가 주어진다(1≤k<n≤301 \le k < n \le 30). 두 번째 줄에는 정수 nn개가 주어지며, ii번째 정수는 ii번째 여우의 초기 색이다.

색은 1000 이하의 양의 정수로 표현된다.

출력

모든 여우 쌍이 구별될 때까지 걸리는 기대 시간(분)을 실수 하나로 출력한다. 상대 오차 또는 절대 오차가 10−610^{-6} 이내이면 정답으로 인정한다.

예제2

  1. 예제 1

    입력
    2 1
    20 20
    
    예상 출력
    1.000000
    
  2. 예제 2

    입력
    2 1
    15 1000
    
    예상 출력
    0.000000