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 n ≥ 2 i n noms diferents d’equips de bàsquet catalans i després un nombre indeterminat de resultats en forma de quàdruples:
equip1 cistelles1 equip2 cistelles2 |
que representen el resultat d’un partit, calculi la classificació final tenint en compte que l’ordre ve donat per:
Per a fer aquest programa cal fer servir aquesta estructura:
struct Equip { string nom; int punts_favor; int punts_contra; int guanyats; };
Observació
El nombre n ≥ 2 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’n 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.
Entrada
Un enter n > 1 i n noms d’equip de bàsquet seguits d’un nombre indeterminat de resultats en forma de quàdruples:
equip1 cistelles1 equip2 cistelles2 |
que representen el resultat d’un partit.
Sortida
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