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àctiques 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.
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