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 i noms diferents d’equips de futbol 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: 3 punts, partit empatat: 1 punt).
En cas d’empat a punts, va primer qui té millor diferència de gols (diferència entre gols fets i gols rebuts).
En cas d’empat en tots dos casos anteriors, qui te el nom d’equip més petit en ordre lexicogràfic.
Per a fer aquest programa cal fer servir aquesta estructura:
struct Equip
{
string nom;
int gols_favor;
int gols_contra;
int guanyats;
int empatats;
};
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 la mateixa diferència de gols. Els equips van ordenats en aquest cas en ordre lexicogràfic.
Un enter i noms d’equip de futbol 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 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