Parelles

Una empresa de vegades necessita enviar a dos treballadors per a
realitzar reparacions. Per formar les parelles té les dades dels
treballadors en un diccionari en el qual la clau és el nom d’un
treballador i el valor la llista amb els noms de la resta de
treballadors amb els que està disposat a treballar. Que el treballador
’pep’ estigui disposat a treballar amb ’paco’ no implica que ’paco’
estigui disposat a treballar amb ’pep’. És possible que algun
treballador no vulgui treballar amb ningú.

1.  Quan un treballador deixa l’empresa s’esborra la seva entrada del
    diccionari, però el seu nom pot seguir apareixent a les llistes de
    preferencies d’altres treballadors.

    Programa una funció @limpia(preferencias)@ que, donat un diccionari
    @preferencias@ com el descrit a l’inici, retorni un nou diccionari
    en el qual s’han tret els noms de treballadors que ja no estan en
    l’empresa, és a dir, que ja no són claus.

2.  L’empresa necessita enviar treballadors a realitzar reparacions.
    Programa una funció @empareja(ltrab, preferencias)@, que donada una
    llista @ltrab@ de treballadors de l’empresa destinats cadascun a una
    reparació diferent, i un diccionari @preferencias@ com el descrit a
    l’inici, retorni un diccionari que associï cada empleat destinat a
    reparacions amb els possibles acompanyants (aquells que es
    prefereixen mútuament però no estan destinats a un altre servei de
    reparació diferent).

Puntuació

Apartat 1: 45 puntos.

Apartat 2: 55 puntos.

Exemple de sessió

Informació del problema

Autoria: InfBesos

Generació: 2026-01-25T13:42:10.194Z

© Jutge.org, 2006–2026.
https://jutge.org
