Lliga de bàsquet V18998


Statement
 

pdf   zip

thehtml

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:

  1. El nombre de punts (partit guanyat: 1 punt). Tingueu en compte que en bàsquet no hi ha empats.
  2. En cas d’empat a punts, va primer qui té millor bàsquet average (diferència entre punts fets i punts rebuts).
  3. 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;
};

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.

Public test cases
  • 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
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Other languages
    English Spanish
    Official solutions
    C++
    User solutions
    C++