Piles de cromos P69546


Statement
 

pdf   zip

html

Hi ha n nens, cadascun amb una pila de cromos inicial. De tant en tant, dos nens x i y es juguen c cromos (tant x, com y, com c, van variant). El nen que perd dóna, d’un en un, els c cromos de dalt de la seva pila a l’altre nen, que els va posant a dalt de la seva pila en l’ordre d’arribada. Si un nen perd més dels cromos que li queden, només dóna els que té, però ha de pagar la diferència, en caramels, a una bossa comuna per a tots els nens.

Donades les n piles inicials, i els resultats de les partides jugades, digueu el contigut final de cada pila, i quants caramels ha perdut cada nen. Suposeu que els nens tenen inicialment un nombre arbitràriament gran de caramels.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb n, seguit del contingut de les n piles, de baix a dalt: una seqüència de paraules minúscules acabada en “FI”. Segueix la informació de les partides: triplets amb x, y i c, que indiquen que x ha guanyat c cromos a y. Un triplet especial amb x = y = c = 0 marca el final de les partides. Suposeu 2 ≤ n ≤ 1000, que els nens es numeren entre 1 i n, xy, 1 ≤ c ≤ 1000, i que no hi ha més de 105 partides a cada cas.

Sortida

Per a cada cas, escriviu una línia per a cada nen, amb el nombre de caramels que ha perdut, seguit del contigut final de la seva pila de cromos, de dalt a baix. Escriviu una línia amb 10 guions al final de cada cas.

Public test cases
  • Input

    3
    gandalf frodo bilbo FI
    aragorn legolas gimli FI
    arwen FI
    1 2 1
    1 3 2
    3 2 1
    0 0 0
    2
    FI
    sauron saruman gollum FI
    1 2 1000
    0 0 0
    

    Output

    0 arwen gimli bilbo frodo gandalf
    0 aragorn
    1 legolas
    ----------
    0 sauron saruman gollum
    997
    ----------
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++ Python
    User solutions
    C++ Python