El joc del Nim P17438


Statement
 

pdf   zip

html

Considereu la següent variant del joc del Nim, originari de la Xina, per a dos jugadors: Hi ha sis piles numerades del 1 al 6, cadascuna amb pi pedres. Inicialment, tenim pi = i per a cada 1 ≤ i ≤ 6. Per torns, cada jugador ha d’escollir una de les piles no buides, i treure’n com a mínim una pedra. El jugador que treu l’última pedra (o les últimes pedres) guanya.

Per exemple, suposem que l’Anna i en Bernat són els jugadors. Aquesta és una possible situació del joc després d’uns quants torns (el primer nombre es correspon a p1, etcètera):

1    1    0    0    5    0 

Si és el torn de l’Anna, pot decidir treure les cinc pedres de la cinquena pila:

1    1    0    0    0    0 

Després, en Bernat realment no té opció: ha de treure una pedra d’una pila (suposem que de la primera):

0    1    0    0    0    0 

Ara l’Anna pot treure l’última pedra, i per tant guanya el joc. Fixeu-vos que l’Anna hauria perdut si hagués fet una jugada diferent en el primer torn, suposant que en Bernat jugués perfectament.

Feu un programa que, donats els noms dels jugadors (primer el jugador a qui toca jugar) i el nombre actual de pedres de cada pila, escrigui el nom del jugador que guanya el joc, suposant que es juga perfectament.

Entrada

L’entrada comença amb el nombre de casos. Cada cas consisteix en els noms (només lletres) dels jugadors, seguits de p1, …, p6. Podeu assumir 0 ≤ pii, i també p1 + ⋯ + p6 ≥ 1.

Sortida

Per a cada cas, escriviu-ne el nombre, seguit del nom del guanyador, suposant que es juga perfectament.

Public test cases
  • Input

    3
    Anna Bernat 1 1 0 0 5 0
    A B 0 0 2 0 0 0
    x y 0 0 3 3 0 0
    

    Output

    Joc #1: Anna
    Joc #2: A
    Joc #3: y
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Translator
    Salvador Roura
    Original language
    English
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++ Python