Iaies al súper P33884


Statement
 

pdf   zip   main.py

thehtml

La cua del supermercat és un lloc inhòspit, salvatge i cruel. En particular, malgrat ser entranyables en molts altres sentits, les iaies tenen una habilitat especial (adquirida durant els anys?) a colar-se davant de la darrera persona de la cua.

Implementeu una classe CuaSupermercat per gestionar la cua d’un supermercat amb iaies tot completant els mètodes públics donats a code.cc.

En aquesta cua, l’ordre de les arribades sempre es preserva, excepte quan arriba una iaia, perquè aquesta sempre es colarà davant del darrer client que hi hagi a la cua (fins i tot si és una altra iaia, fet que pot donar lloc a una gran discussió verbal). A més, es vol saber quantes vegades ha estat atès cada client (en ordre alfabètic) i es vol poder escriure (en ordre de la cua) una línia amb la gent que hi ha a la cua.

Les iaies són fàcils de reconèixer perquè el seu nom comença per "Iaia".

Descarregueu-vos el fitxer code.py. Aquest ja conté la interfície de la classe i un programa principal de proves que la fa servir.

Les vostres operacions han de ser tan eficients com sigui possible. Seguiu les millors pràc­tiques de programació.

Els clients poden arribar diferents vegades a la cua, però que mai hi seran més d’un cop al mateix moment (han de sortir abans de tornar a entrar). Aquest fet no ha de ser controlat.

No hi ha jocs de proves privats.

Public test cases
  • Input

    arribar IaiaPepeta
    arribar Joan
    arribar Pere
    arribar Maria
    escriure_cua
    arribar IaiaJuanita
    escriure_cua
    arribar Anna
    escriure_cua
    atendre
    atendre
    atendre
    atendre
    atendre
    atendre
    arribar Maria
    arribar IaiaJuanita
    atendre
    atendre
    escriure_clients

    Output

    arribar IaiaPepeta
    arribar Joan
    arribar Pere
    arribar Maria
    cua: IaiaPepeta Joan Pere Maria
    arribar IaiaJuanita
    cua: IaiaPepeta Joan Pere IaiaJuanita Maria
    arribar Anna
    cua: IaiaPepeta Joan Pere IaiaJuanita Maria Anna
    atendre IaiaPepeta
    atendre Joan
    atendre Pere
    atendre IaiaJuanita
    atendre Maria
    atendre Anna
    arribar Maria
    arribar IaiaJuanita
    atendre IaiaJuanita
    atendre Maria
    Anna 1
    IaiaJuanita 2
    IaiaPepeta 1
    Joan 1
    Maria 2
    Pere 1
    
  • Input

    arribar Arnau           escriure_cua
    atendre                 escriure_cua
    arribar Aina            escriure_cua
    atendre                 escriure_cua
    arribar Arnau           escriure_cua
    arribar Aina            escriure_cua
    arribar IaiaArgentina   escriure_cua
    arribar IaiaJoana       escriure_cua
    atendre                 escriure_cua
    atendre                 escriure_cua
    atendre                 escriure_cua
    atendre                 escriure_cua
    escriure_clients

    Output

    arribar Arnau
    cua: Arnau
    atendre Arnau
    cua:
    arribar Aina
    cua: Aina
    atendre Aina
    cua:
    arribar Arnau
    cua: Arnau
    arribar Aina
    cua: Arnau Aina
    arribar IaiaArgentina
    cua: Arnau IaiaArgentina Aina
    arribar IaiaJoana
    cua: Arnau IaiaArgentina IaiaJoana Aina
    atendre Arnau
    cua: IaiaArgentina IaiaJoana Aina
    atendre IaiaArgentina
    cua: IaiaJoana Aina
    atendre IaiaJoana
    cua: Aina
    atendre Aina
    cua:
    Aina 2
    Arnau 2
    IaiaArgentina 1
    IaiaJoana 1
    
  • Information
    Author
    Jordi Petit
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python