ATP X52638


Statement
 

pdf   zip   main.cc

html

Suposa la declaració de la tupla Player:

   struct Player {
      string first, last; // nom, cognom
      int points;         // punts
   };

que emmagatzema la informació d’un jugador de l’ATP.

Fes una funció ordena amb la capçalera:

   void ordena(list<Player>& P, bool by_points);

que permet ordenar els jugadors de més a menys punts (quan by_points és cert) o per cognoms (quan by_points és fals).

Entrada

L’acció rep una llista de jugadors, possiblement buida.

Sortida

L’acció ha d’ordenar la llista per punts (de més a menys) si by_points és true i ha d’ordenar per cognoms si by_points és false.

Observació

La solució d’aquest problema pot tenir més d’una funció.

El programa principal que fa servir el jutge és el següent:

   Player p;
   list<Player> L;
   while (cin >> p.first >> p.last >> p.points) {
      L.push_back(p);
   }
   ordena(L, true);
   mostra(L);
   ordena(L, false);
   mostra(L);

La funció mostra escriu els valors de la llista amb una línia buida al final.

Public test cases
  • Input

    Roger Federer 8710	
    Rafael Nadal 10415	
    Novak Djokovic	13310	
    David Ferrer 4665
    Nicolas Almagro 2070
    Andy Murray 7450	
    

    Output

    Novak Djokovic 13310
    Rafael Nadal 10415
    Roger Federer 8710
    Andy Murray 7450
    David Ferrer 4665
    Nicolas Almagro 2070
    
    Nicolas Almagro 2070
    Novak Djokovic 13310
    Roger Federer 8710
    David Ferrer 4665
    Andy Murray 7450
    Rafael Nadal 10415
    
    
  • Input

    X C 2000
    X B 1000
    X A 500

    Output

    X C 2000
    X B 1000
    X A 500
    
    X A 500
    X B 1000
    X C 2000
    
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    Unknown.
    User solutions
    C++