Partida de dòmino P18518


Statement
 

pdf   zip

html

Simuleu el desenvolupament d’una partida de dòmino entre p jugadors. Suposeu que tots segueixen la mateixa estratègia: Si poden tirar algun doble, el tiren (en cas d’empat, trien el doble més gros). Altrament, de totes les fitxes que poden tirar en trien la que tingui suma màxima (en cas d’empat, la fitxa amb el valor individual màxim). Per exemple, si poden tirar un doble 3 i un doble 5, tiren el doble 5. I si poden tirar un 2 4 i un 0 6, tiren el 0 6.

Els jugadors s’anomenen consecutivament a partir de la lletra ‘A’. Sempre comença la partida el jugador amb la fitxa més prioritària segons el criteri anterior. És a dir, de més a menys: 6 6, 5 5, …, 0 0, 5 6, 4 6, 3 6, 4 5, 2 6, 3 5, …, 0 1. A partir d’aquí, juguen en ordre cíclicament.

Un cop posada la primera fitxa, si es tira una fitxa que es pot posar als dos extrems, es posa a l’extrem amb valor més gran. Per exemple, si es tira un 1 4 i els dos extrems tenen un 1 i un 4, després de la jugada els dos extrems tindran un 1.

Si li toca jugara a un jugador i no té cap jugada possible, roba fitxes fins que en pugui tirar alguna, o fins que no quedi cap fitxa per robar. La partida acaba quan algun jugador es queda sense fitxes, o quan ningú pot jugar.

Entrada

L’entrada consisteix en diverses partides, cadascuna amb el nombre de jugadors p entre 2 i 4, seguit de les 28 fitxes del dòmino. Cada fitxa té els dos nombres en ordre. Les 7 primeres fitxes són per al jugador ‘A’, les 7 següents per al jugador ‘B’, etc. Les 28 − 7p últimes fitxes queden en reserva, i són les que es robaran, si no es pot jugar, en l’ordre indicat.

Sortida

Per a cada partida, escriviu les jugades de cada jugador segons es pot veure als exemples. Escriviu una línia amb 10 guions al final de cada partida.

Public test cases
  • Input

    3
    0 0  2 3  5 6  1 1  3 4  1 6  2 6
    4 4  1 5  2 4  0 6  5 5  3 6  0 1
    0 4  1 3  0 3  2 2  0 5  3 3  3 5
    2 5  6 6  0 2  4 6  4 5  1 2  1 4
    
    4
    4 4  4 6  3 5  5 6  2 4  5 5  3 4
    0 4  2 5  1 4  4 5  1 6  1 3  0 2
    1 5  1 1  1 2  0 0  6 6  0 3  3 3
    0 6  2 6  3 6  2 3  2 2  0 5  0 1
    

    Output

    B tira 5 5
    C tira 3 5
    A tira 5 6
    B tira 3 6
    C tira 3 3
    A tira 3 4
    B tira 4 4
    C tira 0 4
    A tira 0 0
    B tira 0 6
    C tira 1 3
    A tira 1 1
    B tira 1 5
    C tira 0 5
    A tira 2 6
    B tira 2 4
    C tira 0 3
    A tira 2 3
    B roba 2 5
    B tira 2 5
    C roba 6 6
    C roba 0 2
    C roba 4 6
    C tira 4 6
    A tira 1 6
    ----------
    C tira 6 6
    D tira 3 6
    A tira 5 6
    B tira 4 5
    C tira 3 3
    D tira 2 3
    A tira 4 4
    B tira 2 5
    C tira 1 5
    D tira 0 1
    A tira 4 6
    B tira 1 6
    C tira 1 1
    D tira 0 6
    B tira 1 4
    D tira 2 6
    A tira 3 4
    B tira 1 3
    C tira 1 2
    ----------
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++