Monedes trucades P20302


Statement
 

pdf   zip

html

Donades n monedes i un natural k, heu de calcular la probabilitat d’obtenir exactament k cares quan es tira cada moneda una vegada. Cal tenir en compte que la moneda i-èsima té probabilitat pi de sortir cara (i probabilitat 1 − pi de sortir creu).

Entrada

L’entrada consisteix en diversos casos, cadascun amb n, k i les n probabilitats pi, totes entre 0 i 1. Podeu suposar 0 ≤ kn ≤ 1000.

Sortida

Per a cada cas, escriviu la probabilitat demanada amb quatre dígits decimals. Per fer-ho, poseu aquestes dues línies al principi del vostre main:

    cout.setf(ios::fixed);
    cout.precision(4);

Els jocs de proves no tenen problemes de precisió.

Pista

La solució recursiva és una mica més senzilla.

Public test cases
  • Input

    1 1 1
    1 0 0.7
    0 0
    2 1 0.5 0.5
    2 1 0.2 0.8
    5 3 0.23 0.42 0.9 0 0.84
    

    Output

    1.0000
    0.3000
    1.0000
    0.5000
    0.6800
    0.3674
    
  • Information
    Author
    Josep Díaz
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++