Mastermind P28515


Statement
 

Graphic problem

pdf   zip

thehtml

En aquest problema haureu de simular un tauler del mastermind.

El joc consisteix en el següent: Primer, el jugador A dóna al tauler una combinació de quatre colors escollits entre sis (amb possibles repeticions): ‘Blue’, ‘Green’, ‘Orange’, ‘Pink’, ‘Red’ i ‘Yellow’. Després, el jugador B intenta endevinar el color de cada posició.

Per aconseguir-ho, repetidament, B conjectura una solució, i el tauler li dóna informació sobre com de bona és la seva conjectura, aparellant de la millor manera possible les posicions de la combinació amagada amb les de la conjectura. A continuació, per cada parell que coincideixi tant en la posició com en el color, B rep una pista de color ‘Black’, i per cada parell que coincideixi en el color però no en la posició, B rep una pista de color ‘White’.

(Mireu els exemples per desambiguar.)

La partida acaba quan B endevina la combinació d’A (això es correspon amb quatre pistes negres), o quan B no conjectura cap combinació més (i suposem que s’ha rendit).

Entrada

L’entrada consisteix en la combinació d’A, seguida del nombre n ≥ 1 de conjectures de ‍B, seguida de les n conjectures. Cada línia (excepte la segona) conté exactament quatre caràcters escollits entre ‘B’, ‘G’, ‘O’, ‘P’, ‘R’ i ‘Y’, corresponent als colors indicats anteriorment.

Sortida

Genereu una imatge de color de fons ‘Sienna’ amb 900 punts d’ample i 100t d’alt, on t és el nombre de torns jugats de la partida. Cal acabar quan B guanyi o quan no quedin més conjectures. En ordre, cada torn ocupa una fila de 100 punts de la imatge. Pinteu amb cercles de diàmetre 100 tant les conjectures com les pistes. Separeu-les amb una columna d’amplada 100. D’esquerra a dreta, pinteu primer les pistes negres i després les blanques, independentment de a quines posicions es corresponguin.

Observació

Podeu obtenir 45 punts resolent casos on cal jugar els n torns i on totes les pistes són negres, com l’Exemple d’entrada 1.

Public test cases
  • Input

    YBYR
    3
    PGPR
    GOGO
    YYYR
    

    Output

    ab-sample-1.png

     (900×300)

  • Input

    RYBB
    8
    RRRR
    BBBB
    PPPP
    BBBO
    YRGB
    BBYR
    BYBO
    BBGG
    

    Output

    az-sample-2.png

     (900×800)

  • Input

    OPGR
    5
    PGRO
    ORPG
    RPGO
    OPGR
    GGGG
    

    Output

    az-sample-3.png

     (900×400)

  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python