Després de molts entrebancs, la Federació Catalana de Futbol ha reeixit a organitzar la Lliga Nacional Catalana de Futbol 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 futbol catalans i després un nombre indeterminat de resultats en forma de quàdruples:
equip1 gols1 equip2 gols2 |
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 gols_favor; int gols_contra; int guanyats; int empatats; };
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 la mateixa diferència de gols. Els equips van ordenats en aquest cas en ordre lexicogràfic.
Entrada
Un enter n ≥ 2 i n noms d’equip de futbol seguits d’un nombre indeterminat de resultats en forma de quàdruples:
equip1 gols1 equip2 gols2 |
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 CEEuropa FCBarcelona Girona Olot CEEuropa 2 FCBarcelona 1 CEEuropa 2 Girona 2 CEEuropa 5 Olot 0 FCBarcelona 4 CEEuropa 3 FCBarcelona 3 Girona 3 FCBarcelona 2 Olot 1 Girona 3 CEEuropa 3 Girona 2 FCBarcelona 2 Girona 2 Olot 2 Olot 2 CEEuropa 2 Olot 1 FCBarcelona 1 Olot 2 Girona 3
Output
CEEuropa PUNTS: 9 GF: 17 GC: 12 FCBarcelona PUNTS: 9 GF: 13 GC: 12 Girona PUNTS: 8 GF: 15 GC: 14 Olot PUNTS: 3 GF: 8 GC: 15
Input
4 Girona Olot CEEuropa FCBarcelona CEEuropa 2 FCBarcelona 1 CEEuropa 2 Girona 1 CEEuropa 2 Olot 1 FCBarcelona 2 CEEuropa 1 FCBarcelona 2 Girona 1 FCBarcelona 2 Olot 1 Girona 2 CEEuropa 1 Girona 2 FCBarcelona 1 Girona 2 Olot 1 Olot 2 CEEuropa 1 Olot 2 FCBarcelona 1 Olot 2 Girona 1
Output
CEEuropa PUNTS: 9 GF: 9 GC: 9 FCBarcelona PUNTS: 9 GF: 9 GC: 9 Girona PUNTS: 9 GF: 9 GC: 9 Olot PUNTS: 9 GF: 9 GC: 9
Input
3 CEEuropa FCBarcelona Olot CEEuropa 2 FCBarcelona 1 CEEuropa 5 Olot 0 FCBarcelona 4 CEEuropa 3 Olot 2 CEEuropa 2
Output
CEEuropa PUNTS: 7 GF: 12 GC: 7 FCBarcelona PUNTS: 3 GF: 5 GC: 5 Olot PUNTS: 1 GF: 2 GC: 7