Joc cooperatiu P74845


Statement
 

pdf   zip

Les competicions ja no estan de moda. El que es porta ara són els jocs cooperatius, en què els participants col·laboren per assolir un objectiu comú. Així, un grup de nn amics s’inspira en el joc de la cadena, en què una fila de persones es diuen a cau d’orella un missatge MM d’una punta a l’altra, amb l’objectiu que MM no es corrompi pel camí. No obstant, per fer el joc més divertit, s’hi introdueix algun canvi:

Sigui xx l’emissor inicial de MM, i sigui yy el receptor final. A cada ronda del joc, la persona uu que acaba de rebre MM (o bé xx, si és la primera ronda) ha d’escollir una altra persona vv i transmetre-li MM. Per a tot parell (u,v)(u, v), es coneix la probabilitat puvp_{uv} de que la transmissió directa del missatge de uu a vv sigui correcta. Aquesta probabilitat és independent de la ronda. Un missatge corromput no es recupera mai. El joc acaba quan MM arriba a yy.

Jugant òptimament, quina és la probabilitat de que MM es transmeti de xx a yy correctament?

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb el nombre d’amics nn i el nombre mm de probabilitats puvp_{uv} que són estrictament positives. Segueixen mm tripletes uu, vv, puvp_{uv}, on uvu \ne v. Finalment, tenim xx i yy. Assumiu 1n1041 \le n \le 10^4, 0m5n0 \le m \le 5n, i que cada parell de uu i vv apareix com a molt un cop a l’entrada. Els amics estan numerats entre 00 i n1n-1.

Sortida

Per cada cas, escriviu amb cinc dígits decimals la màxima probabilitat de que el missatge arribi correctament de xx a yy. Si és impossible, digueu-ho.

Pista

La solució esperada està basada en un algorisme fonamental sobre els grafs.

Public test cases
  • Input

    6 8
    1 0 0.02478
    3 4 0.49787
    3 1 0.00335
    0 5 0.06737
    0 2 0.76787
    5 1 0.00045
    4 1 0.93533
    2 3 0.18315
    3 5
    
    2 1
    0 1 1
    1 0
    
    1 0
    0 0
    
    3 4
    2 0 0.75008
    0 2 0.00004
    0 1 0.01831
    1 2 0.00091
    0 2
    

    Output

    0.00078
    impossible
    1.00000
    0.00004
    
  • Information
    Author
    Enric Rodríguez
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++