Después de muchos obstáculos, la Federación Catalana de Fútbol ha exitoso a organizar la Liga Nacional Catalana de Fútbol y ha pedido a la FIB que les ayude con la gestión de los datos de los resultados de la temporada.
Concretamente, debe hacer un programa tal que dado un entero y nombres diferentes de equipos de fútbol catalanes y después un número indeterminado de resultados en forma de cuádruples:
que representan el resultado de un partido, calcule la clasificación final teniendo en cuenta que el orden viene dado por:
El número de puntos (partido ganado: 3 puntos, partido empatado: 1 punto).
En caso de empate a puntos, va primero quien tiene mejor diferencia de goles (diferencia entre goles hechos y goles recibidos).
En caso de empate en ambos casos anteriores, quien tiene el nombre de equipo más pequeño en orden lexicográfico.
Para hacer este programa es necesario utilizar esta estructura:
struct Equip
{
string nom;
int gols_favor;
int gols_contra;
int guanyats;
int empatats;
};
El número de equipos no debe ser necesariamente par. Del mismo modo, los partidos que habrá no deben ser necesariamente todos los posibles (es decir, todos contra todos en casa y fuera).
Aunque es irrelevante para su programa, un partido no podrá aparecer más de una vez, ni siquiera con resultados distintos.
En un partido sólo aparecerán equipos que hayan aparecido en la lista inicial de equipos.
No se puede utilizar la operación suerte de la
biblioteca stl. Si tiene que ordenar algún vector, debe
programarlo usted. Y en su caso, cualquier método de ordenación de los
que ha estudiado es válido.
Fíjese en el segundo ejemplo: todos los equipos han ganado lo mismo número de partidos y todos tienen la misma diferencia de goles. Los equipos van ordenados en este caso en orden lexicográfico.
Un entero y nombres de equipo de fútbol seguidos de un número indeterminado de resultados en forma de cuádruples:
que representan el resultado de un partido.
La clasificación final en el formato indicado en los ejemplos, y con los criterios de ordenación mencionados en el enunciado.
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