Després de molts entrebancs, la Federació Catalana de Bàsquet ha reeixit a organitzar la Lliga Nacional Catalana de Bàsquet i ha demanat a la FIB que els ajudi amb la gestió de les dades dels resultats de la temporada.
Concretament, heu de fer un programa tal que donat un enter i noms diferents d’equips de bàsquet catalans i després un nombre indeterminat de resultats en forma de quàdruples:
que representen el resultat d’un partit, calculi la classificació final tenint en compte que l’ordre ve donat per:
El nombre de punts (partit guanyat: 1 punt). Tingueu en compte que en bàsquet no hi ha empats.
En cas d’empat a punts, va primer qui té millor bàsquet average (diferència entre punts fets i punts rebuts).
En cas d’empat en tots dos casos anteriors, qui té el nom d’equip mes gran en ordre lexicogràfic.
Per a fer aquest programa cal fer servir aquesta estructura:
struct Equip
{
string nom;
int punts_favor;
int punts_contra;
int guanyats;
};
El nombre d’equips no ha de ser necessàriamen parell. De la mateixa manera, els partits que hi haurà no han de ser necessàriament tots els possibles (és a dir, tots contra tots a casa i a fora).
Tot i que és irrellevant per al vostre programa, un partit no podrà aparèixer més d’una vegada, ni tan sols amb resultats diferents.
En un partit només hi apareixeran equips que hagin aparegut a la llista inicial d’ equips.
No es pot fer servir l’operació sort de la biblioteca
stl. Si heu d’ordenar algun vector, ho heu de programar
vosaltres. I si fos el cas, qualsevol mètode d’ordenació dels que heu
estudiat és vàlid.
Fixeu-vos en el segon exemple: tots els equips han guanyat el mateix nombre de partits i tots tenen el mateix bàsquet average. Els equips van ordenats en aquest cas en ordre lexicogràfic invers.
Un enter i noms d’equip de bàsquet seguits d’un nombre indeterminat de resultats en forma de quàdruples:
que representen el resultat d’un partit.
La classificació final en el format indicat als exemples, i amb els criteris d’ordenació esmentats a l’enunciat.
Input
4 Joventut FCBarcelona Girona Lleida Lleida 98 FCBarcelona 88 Lleida 80 Girona 75 Lleida 99 Joventut 56 FCBarcelona 90 Lleida 89 FCBarcelona 110 Girona 90 FCBarcelona 100 Joventut 54 Girona 56 Lleida 68 Girona 67 FCBarcelona 70 Girona 70 Joventut 63 Joventut 93 Lleida 89 Joventut 87 FCBarcelona 79 Joventut 76 Girona 80
Output
Lleida PUNTS: 4 PF: 523 PC: 458 FCBarcelona PUNTS: 4 PF: 537 PC: 485 Girona PUNTS: 2 PF: 438 PC: 467 Joventut PUNTS: 2 PF: 429 PC: 517
Input
4 Joventut FCBarcelona Girona Lleida Lleida 80 FCBarcelona 78 Lleida 80 Girona 78 Lleida 80 Joventut 78 FCBarcelona 80 Lleida 78 FCBarcelona 80 Girona 78 FCBarcelona 80 Joventut 78 Girona 80 Lleida 78 Girona 80 FCBarcelona 78 Girona 80 Joventut 78 Joventut 80 Lleida 78 Joventut 80 FCBarcelona 78 Joventut 80 Girona 78
Output
Lleida PUNTS: 3 PF: 474 PC: 474 Joventut PUNTS: 3 PF: 474 PC: 474 Girona PUNTS: 3 PF: 474 PC: 474 FCBarcelona PUNTS: 3 PF: 474 PC: 474
Input
3 FCBarcelona Girona Lleida Lleida 98 FCBarcelona 88 Lleida 99 Girona 56 FCBarcelona 90 Lleida 89 Girona 67 FCBarcelona 70
Output
Lleida PUNTS: 2 PF: 286 PC: 234 FCBarcelona PUNTS: 2 PF: 248 PC: 254 Girona PUNTS: 0 PF: 123 PC: 169