그놀 가설

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

요약
n개의 생성 확률과 무작위로 뽑는 k개의 타입 풀이 주어질 때, 선택되지 않은 타입의 확률이 원형으로 다음 선택된 타입에 더해진 뒤 각 타입의 기대 생성 확률을 구한다.
난이도

어려움10점 중 8점

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

문제

당신은 RPG The Eldest Scrolls: Earthrim의 열렬한 팬이라 게임 내부의 모든 메커니즘을 알고 있다. 예를 들어, 새로운 몬스터를 스폰할 때 게임에 등장하는 n가지 몬스터 종류 각각은 고정된 확률로 나타나며, 당신은 이 몬스터 종류에 대한 확률 분포를 정확히 알고 있다.

그런데 최신 업데이트에서 개발자들이 몬스터 스폰 방식을 바꾼 것 같다. 여러 실험과 리버스 엔지니어링 끝에, 당신은 모든 n가지 몬스터를 스폰하는 대신 각 스폰 위치에 k가지 몬스터 종류로 이루어진 스폰 풀이 있다는 것을 알아냈다. 이 스폰 풀은 게임 시작 시 각 스폰 위치마다 독립적으로 무작위로 선택되며, 각 몬스터 종류는 스폰 풀에 선택될 확률이 모두 같다. 그리고 개발자가 스폰 확률을 조정하는 일을 대충 한 모양이다. 선택된 k가지 종류의 스폰 확률을 정규화하는 대신, 어떤 몬스터 종류가 선택되지 않으면 그 스폰 확률을 몬스터 종류 목록에서 다음으로 선택된 몬스터 종류에 더하기로 했다(그리고 목록 끝의 몬스터 종류가 선택되지 않으면 그 스폰 확률은 목록에서 처음으로 선택된 몬스터 종류에 더해진다). 예를 들어, Figure G.1은 n = 5마리의 몬스터, 그중 k = 3마리를 무작위로 선택한 경우, 그리고 그 3마리에 대해 계산된 스폰 확률을 보여준다.

업데이트 이후, 어떤 몬스터 종류는 이전보다 덜 나타나는 것 같고, 어떤 종류는 더 자주 나타나는 것 같다(예를 들어 이제는 그놀이 사방에 널려 있는 것 같다). 당신은 새로운 스폰 로직이 몬스터의 실효 스폰 확률을 바꿈으로써 이 현상을 일으켰다고 생각한다. 이 가설을 검증하기 위해, 당신은 업데이트 이후의 실효 스폰 확률을 계산하기로 한다.

Figure G.1: Sample Input 1과 조정된 스폰 확률을 가진 한 가지 가능한 스폰 풀.

입력

입력은 다음과 같다.

  • n과 k(1 ≤ k ≤ n ≤ 500)를 나타내는 두 정수가 있는 한 줄. n은 몬스터 종류의 수이고, k는 각 스폰 위치의 스폰 풀에 무작위로 선택되는 몬스터의 수이다.
  • n개의 실수 s1, s2, . . . , sn(si ≥ 0, Σsj = 100)이 있는 한 줄. si는 몬스터 종류 목록에서 i번째 종류의 스폰 확률을 퍼센트로 나타낸다. 모든 실수는 소수점 이하 최대 여섯 자리까지 있다.

출력

각 몬스터 종류의 실효 스폰 확률을 퍼센트로 나타내는 n개의 실수를 한 줄에 출력한다. 출력의 i번째 수는 i번째 몬스터 종류에 대응해야 한다. 답의 절대 오차 또는 상대 오차는 10−6 이하여야 한다.

예제2

  1. 예제 1

    입력
    5 3
    1 25 39 12 23
    
    예상 출력
    8.7 17.6 31 21.4 21.3
    
  2. 예제 2

    입력
    3 2
    2.019 87.51234 10.46866
    
    예상 출력
    4.8355533 59.01456 36.1498867