Progreso en una carrera ciclista X69907


Statement
 

pdf   zip

html

Al final de este enunciado podréis encontrar un programa a medio acabar que deberéis completar. Concretamente, hay dos funciones que estan pendientes de implementar. A continuación os explicamos con qué datos trabaja el programa y qué tienen que hacer las funciones.

El programa trabaja con un tipo de dato Cyclist, que representa un ciclista que participa en una carrera. Se incluye el nombre del ciclista, su posición actual y su velocidad actual. Para simplificar, utilizaremos variables enteras en vez de reales.

struct Cyclist {
  string name;
  int position;
  int velocity;
};

El programa también trabaja con un tipo de datos ListCyclists, que representa una lista de ciclistas:

typedef vector<Cyclist> ListCyclists;

Tendréis que implementar una función que recibe una lista de ciclistas y un tiempo transcurrido, y tiene que actualizar la posición de todos los ciclistas añadiendo su velocidad actual multiplicada por el tiempo transcurrido. Si se desea pensar en términos de unidades concretas, se puede pensar en la posición en metros, el tiempo en segundos, y la velocidad en metros por segundo.

void progressCyclists(int time, ListCyclists &listcyclists);

Además, habrá que implementar una función que recibe dos ciclistas y devuelve cierto si el primer ciclista es menor que el segundo de acuerdo con el criterio que se describe a continuación. Un ciclista es menor que otro cuando está en una posición estrictamente menor que la del otro, o está en la misma posición que el otro pero tiene una velocidad estrictamente menor, o bien está en la misma posición con la misma velocidad que el otro pero su nombre es menor que el nombre del otro en orden lexicográfico.

bool smallerCyclist(Cyclist c1, Cyclist c2);

La función anterior se utiliza desde otro sitio del programa para ordenar todos los ciclistas.

Completad, entonces, el siguiente código para resolver el problema:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

// Here you can add more includes if you wish.
// ...

using namespace std;

struct Cyclist {
  string name;
  int position;
  int velocity;
};

typedef vector<Cyclist> ListCyclists;

// Auxiliary functions (you can add more functions if you wish)

// Pre:  
// Post: Prints all cyclists from first to last, one per line, and with the format:
//       name position velocity
void printCyclists(const ListCyclists &listcyclists)
{
  for (int i = 0; i < int(listcyclists.size()); i++) {
    const Cyclist &c = listcyclists[i];
    cout << c.name << " " << c.position << " " << c.velocity << endl;
  }
}

// Pre:  variable 'time' is strictly positive and represents a time elapsed.
// Post: All positions of cyclists in listcyclists have been updated
//       according to the given time elapsed and their corresponding velocity.
void progressCyclists(int time, ListCyclists &listcyclists)
{
  // Implement this function.
  //...
}

// Pre:  c1, c2 represent correct cyclists.
// Post: Returns true iff one of the following conditions holds:
//         - position of c1 is strictly smaller than position of c2.
//         - c1 and c2 have same position but velocity of c1 is strictly smaller than velocity of c2.
//         - c1 and c2 coincide in position and velocity, but c1 has smaller name than c2.
bool smallerCyclist(Cyclist c1, Cyclist c2)
{
  // Implement this function.
  //...
}

int main()
{
  int n;
  cin >> n;
  ListCyclists listcyclists(n);
  for (int i = 0; i < n; i++) {
    Cyclist &c = listcyclists[i];
    cin >> c.name;
    c.position = 0;
    c.velocity = 0;
  }
  string command;
  while (cin >> command) {
    if (command == "UPDATEVELOCITY") {
      int i, velocity;
      cin >> i >> velocity;
      listcyclists[i].velocity = velocity;
    } else if (command == "SORT") {
      sort(listcyclists.begin(), listcyclists.end(), smallerCyclist);
    } else if (command == "PRINT") {
      cout << "Current list cyclists:" << endl;
      printCyclists(listcyclists);
      cout << endl;
    } else if (command == "PROGRESSCYCLISTS") {
      int time;
      cin >> time;
      progressCyclists(time, listcyclists);
    }
  }
}

Entrada

La entrada consiste en una lista de comandos para actualizar la velocidad de un ciclista, ordenarlos o escribirlos todos, y hacer progresar a todos los ciclistas. No os tiene que preocupar la entrada porque el main que se da hecho ya se encarga de leer los comandos y llamar a las correspondientes funciones.

Salida

La salida muestra los resultados de los comandos. No hay que preocuparse demasiado de la salida ya que el main que se da hecho se encarga de producirla usando las funciones correspondientes.

Public test cases
  • Input

    6
    indurain lejarreta amstrong delgado vingegaard hinault
    UPDATEVELOCITY 3 6
    PROGRESSCYCLISTS 6
    UPDATEVELOCITY 0 10
    PRINT
    UPDATEVELOCITY 1 1
    SORT
    PROGRESSCYCLISTS 7
    PROGRESSCYCLISTS 7
    UPDATEVELOCITY 4 2
    UPDATEVELOCITY 3 10
    UPDATEVELOCITY 2 3
    UPDATEVELOCITY 1 6
    PROGRESSCYCLISTS 3
    PRINT
    UPDATEVELOCITY 5 8
    PRINT
    UPDATEVELOCITY 1 3
    UPDATEVELOCITY 3 2
    UPDATEVELOCITY 2 8
    UPDATEVELOCITY 2 6
    UPDATEVELOCITY 5 7
    PRINT
    UPDATEVELOCITY 2 4
    UPDATEVELOCITY 2 7
    UPDATEVELOCITY 3 6
    UPDATEVELOCITY 3 7
    UPDATEVELOCITY 4 10
    UPDATEVELOCITY 5 5
    UPDATEVELOCITY 0 6
    PRINT
    UPDATEVELOCITY 2 5
    UPDATEVELOCITY 2 8
    PROGRESSCYCLISTS 7
    UPDATEVELOCITY 2 5
    UPDATEVELOCITY 5 5
    PRINT
    PROGRESSCYCLISTS 1
    UPDATEVELOCITY 0 10
    UPDATEVELOCITY 4 7
    UPDATEVELOCITY 5 6
    UPDATEVELOCITY 2 9
    UPDATEVELOCITY 3 8
    PRINT
    UPDATEVELOCITY 0 3
    PRINT
    SORT
    PRINT
    UPDATEVELOCITY 1 6
    PROGRESSCYCLISTS 5
    PROGRESSCYCLISTS 1
    UPDATEVELOCITY 3 8
    UPDATEVELOCITY 5 2
    UPDATEVELOCITY 3 8
    PRINT
    UPDATEVELOCITY 5 4
    PROGRESSCYCLISTS 6
    PRINT
    UPDATEVELOCITY 5 5
    UPDATEVELOCITY 3 3
    UPDATEVELOCITY 3 10
    PRINT
    UPDATEVELOCITY 5 1
    PRINT
    PROGRESSCYCLISTS 4
    UPDATEVELOCITY 1 7
    UPDATEVELOCITY 1 6
    UPDATEVELOCITY 4 5
    UPDATEVELOCITY 1 1
    PRINT
    UPDATEVELOCITY 4 5
    UPDATEVELOCITY 5 7
    UPDATEVELOCITY 3 8
    UPDATEVELOCITY 3 7
    PRINT
    UPDATEVELOCITY 5 9
    PROGRESSCYCLISTS 8
    UPDATEVELOCITY 1 9
    SORT
    UPDATEVELOCITY 1 6
    SORT
    UPDATEVELOCITY 2 4
    UPDATEVELOCITY 0 10
    PRINT
    UPDATEVELOCITY 1 4
    UPDATEVELOCITY 2 7
    UPDATEVELOCITY 4 9
    UPDATEVELOCITY 0 10
    UPDATEVELOCITY 5 7
    PRINT
    PROGRESSCYCLISTS 4
    UPDATEVELOCITY 5 3
    UPDATEVELOCITY 4 1
    UPDATEVELOCITY 5 5
    UPDATEVELOCITY 3 3
    PROGRESSCYCLISTS 5
    SORT
    PRINT
    UPDATEVELOCITY 4 9
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 5 4
    

    Output

    Current list cyclists:
    indurain 0 10
    lejarreta 0 0
    amstrong 0 0
    delgado 36 6
    vingegaard 0 0
    hinault 0 0
    
    Current list cyclists:
    amstrong 0 0
    hinault 18 6
    vingegaard 9 3
    lejarreta 44 10
    indurain 146 2
    delgado 138 6
    
    Current list cyclists:
    amstrong 0 0
    hinault 18 6
    vingegaard 9 3
    lejarreta 44 10
    indurain 146 2
    delgado 138 8
    
    Current list cyclists:
    amstrong 0 0
    hinault 18 3
    vingegaard 9 6
    lejarreta 44 2
    indurain 146 2
    delgado 138 7
    
    Current list cyclists:
    amstrong 0 6
    hinault 18 3
    vingegaard 9 7
    lejarreta 44 7
    indurain 146 10
    delgado 138 5
    
    Current list cyclists:
    amstrong 42 6
    hinault 39 3
    vingegaard 65 5
    lejarreta 93 7
    indurain 216 10
    delgado 173 5
    
    Current list cyclists:
    amstrong 48 10
    hinault 42 3
    vingegaard 70 9
    lejarreta 100 8
    indurain 226 7
    delgado 178 6
    
    Current list cyclists:
    amstrong 48 3
    hinault 42 3
    vingegaard 70 9
    lejarreta 100 8
    indurain 226 7
    delgado 178 6
    
    Current list cyclists:
    hinault 42 3
    amstrong 48 3
    vingegaard 70 9
    lejarreta 100 8
    delgado 178 6
    indurain 226 7
    
    Current list cyclists:
    hinault 60 3
    amstrong 84 6
    vingegaard 124 9
    lejarreta 148 8
    delgado 214 6
    indurain 268 2
    
    Current list cyclists:
    hinault 78 3
    amstrong 120 6
    vingegaard 178 9
    lejarreta 196 8
    delgado 250 6
    indurain 292 4
    
    Current list cyclists:
    hinault 78 3
    amstrong 120 6
    vingegaard 178 9
    lejarreta 196 10
    delgado 250 6
    indurain 292 5
    
    Current list cyclists:
    hinault 78 3
    amstrong 120 6
    vingegaard 178 9
    lejarreta 196 10
    delgado 250 6
    indurain 292 1
    
    Current list cyclists:
    hinault 90 3
    amstrong 144 1
    vingegaard 214 9
    lejarreta 236 10
    delgado 274 5
    indurain 296 1
    
    Current list cyclists:
    hinault 90 3
    amstrong 144 1
    vingegaard 214 9
    lejarreta 236 7
    delgado 274 5
    indurain 296 7
    
    Current list cyclists:
    hinault 114 10
    amstrong 152 6
    vingegaard 286 4
    lejarreta 292 7
    delgado 314 5
    indurain 368 9
    
    Current list cyclists:
    hinault 114 10
    amstrong 152 4
    vingegaard 286 7
    lejarreta 292 7
    delgado 314 9
    indurain 368 7
    
    Current list cyclists:
    amstrong 188 4
    hinault 204 10
    lejarreta 335 3
    vingegaard 349 7
    delgado 355 1
    indurain 421 5
    
    
  • Input

    18
    indurain lejarreta amstrong delgado vingegaard hinault merckx froome anquetil lemond bernal nibali wiggins evans contador sastre pantani ullrich
    UPDATEVELOCITY 15 0
    UPDATEVELOCITY 7 0
    UPDATEVELOCITY 9 2
    UPDATEVELOCITY 10 2
    UPDATEVELOCITY 15 2
    UPDATEVELOCITY 3 0
    UPDATEVELOCITY 2 0
    PRINT
    UPDATEVELOCITY 10 0
    UPDATEVELOCITY 13 2
    UPDATEVELOCITY 16 0
    UPDATEVELOCITY 11 1
    UPDATEVELOCITY 1 1
    UPDATEVELOCITY 8 0
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 2 1
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 15 2
    UPDATEVELOCITY 10 2
    SORT
    UPDATEVELOCITY 17 0
    PRINT
    UPDATEVELOCITY 15 0
    PROGRESSCYCLISTS 3
    PRINT
    UPDATEVELOCITY 2 2
    UPDATEVELOCITY 14 2
    UPDATEVELOCITY 7 0
    UPDATEVELOCITY 7 0
    UPDATEVELOCITY 17 1
    UPDATEVELOCITY 7 1
    UPDATEVELOCITY 6 2
    UPDATEVELOCITY 3 2
    UPDATEVELOCITY 0 0
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 4 1
    UPDATEVELOCITY 9 2
    PRINT
    UPDATEVELOCITY 0 2
    PRINT
    UPDATEVELOCITY 10 2
    UPDATEVELOCITY 9 1
    PROGRESSCYCLISTS 2
    PRINT
    SORT
    UPDATEVELOCITY 8 0
    UPDATEVELOCITY 2 2
    UPDATEVELOCITY 6 0
    UPDATEVELOCITY 7 1
    UPDATEVELOCITY 8 0
    UPDATEVELOCITY 3 1
    UPDATEVELOCITY 6 0
    UPDATEVELOCITY 16 1
    PRINT
    UPDATEVELOCITY 11 1
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 14 1
    UPDATEVELOCITY 14 2
    UPDATEVELOCITY 3 2
    UPDATEVELOCITY 8 1
    PRINT
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 17 0
    UPDATEVELOCITY 3 1
    SORT
    UPDATEVELOCITY 6 2
    PRINT
    UPDATEVELOCITY 5 2
    PRINT
    UPDATEVELOCITY 6 1
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 4 1
    UPDATEVELOCITY 4 2
    SORT
    UPDATEVELOCITY 13 0
    UPDATEVELOCITY 13 1
    UPDATEVELOCITY 16 1
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 0 0
    UPDATEVELOCITY 5 1
    UPDATEVELOCITY 12 1
    UPDATEVELOCITY 11 0
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 16 0
    UPDATEVELOCITY 2 2
    UPDATEVELOCITY 17 1
    UPDATEVELOCITY 12 2
    UPDATEVELOCITY 9 0
    UPDATEVELOCITY 12 0
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 17 2
    PRINT
    UPDATEVELOCITY 14 1
    UPDATEVELOCITY 9 0
    UPDATEVELOCITY 17 1
    PROGRESSCYCLISTS 3
    PRINT
    UPDATEVELOCITY 13 1
    UPDATEVELOCITY 15 2
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 8 1
    UPDATEVELOCITY 3 2
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 3 1
    UPDATEVELOCITY 1 1
    UPDATEVELOCITY 11 1
    UPDATEVELOCITY 1 1
    PRINT
    UPDATEVELOCITY 14 1
    UPDATEVELOCITY 11 0
    UPDATEVELOCITY 10 0
    UPDATEVELOCITY 3 2
    UPDATEVELOCITY 5 1
    UPDATEVELOCITY 17 1
    UPDATEVELOCITY 0 2
    UPDATEVELOCITY 1 1
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 14 1
    UPDATEVELOCITY 9 1
    UPDATEVELOCITY 0 2
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 12 1
    PRINT
    UPDATEVELOCITY 1 0
    UPDATEVELOCITY 13 1
    UPDATEVELOCITY 10 0
    UPDATEVELOCITY 16 2
    UPDATEVELOCITY 10 0
    PRINT
    UPDATEVELOCITY 8 2
    UPDATEVELOCITY 13 1
    PROGRESSCYCLISTS 1
    SORT
    PRINT
    UPDATEVELOCITY 10 1
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 17 1
    PROGRESSCYCLISTS 1
    UPDATEVELOCITY 2 2
    PRINT
    UPDATEVELOCITY 1 0
    PRINT
    UPDATEVELOCITY 15 2
    PRINT
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 14 2
    PRINT
    UPDATEVELOCITY 9 0
    UPDATEVELOCITY 13 0
    UPDATEVELOCITY 4 0
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 6 1
    SORT
    UPDATEVELOCITY 0 1
    PRINT
    PROGRESSCYCLISTS 2
    PROGRESSCYCLISTS 1
    UPDATEVELOCITY 7 2
    UPDATEVELOCITY 3 2
    UPDATEVELOCITY 6 2
    UPDATEVELOCITY 3 0
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 13 1
    UPDATEVELOCITY 12 2
    UPDATEVELOCITY 14 2
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 3 2
    PRINT
    UPDATEVELOCITY 11 1
    UPDATEVELOCITY 12 0
    UPDATEVELOCITY 0 2
    PRINT
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 10 0
    UPDATEVELOCITY 4 0
    PROGRESSCYCLISTS 2
    UPDATEVELOCITY 7 0
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 10 2
    UPDATEVELOCITY 4 0
    UPDATEVELOCITY 16 1
    UPDATEVELOCITY 15 1
    UPDATEVELOCITY 16 2
    UPDATEVELOCITY 14 0
    UPDATEVELOCITY 12 0
    UPDATEVELOCITY 6 2
    UPDATEVELOCITY 10 1
    UPDATEVELOCITY 6 1
    UPDATEVELOCITY 8 1
    UPDATEVELOCITY 13 2
    UPDATEVELOCITY 0 1
    UPDATEVELOCITY 12 1
    UPDATEVELOCITY 15 1
    UPDATEVELOCITY 12 1
    PROGRESSCYCLISTS 1
    PROGRESSCYCLISTS 1
    PROGRESSCYCLISTS 3
    UPDATEVELOCITY 16 1
    UPDATEVELOCITY 17 2
    

    Output

    Current list cyclists:
    indurain 0 0
    lejarreta 0 0
    amstrong 0 0
    delgado 0 0
    vingegaard 0 0
    hinault 0 0
    merckx 0 0
    froome 0 0
    anquetil 0 0
    lemond 0 2
    bernal 0 2
    nibali 0 0
    wiggins 0 0
    evans 0 0
    contador 0 0
    sastre 0 2
    pantani 0 0
    ullrich 0 0
    
    Current list cyclists:
    anquetil 0 0
    contador 0 0
    delgado 0 0
    froome 0 0
    hinault 0 0
    indurain 0 0
    merckx 0 0
    pantani 0 0
    ullrich 0 0
    vingegaard 0 0
    wiggins 0 0
    bernal 0 2
    amstrong 3 1
    lejarreta 5 1
    nibali 5 1
    evans 10 2
    lemond 10 2
    sastre 10 0
    
    Current list cyclists:
    anquetil 0 0
    contador 0 0
    delgado 0 0
    froome 0 0
    hinault 0 0
    indurain 0 0
    merckx 0 0
    pantani 0 0
    ullrich 0 0
    vingegaard 0 0
    wiggins 0 0
    bernal 6 2
    amstrong 6 1
    lejarreta 8 1
    nibali 8 1
    evans 10 0
    lemond 16 2
    sastre 10 0
    
    Current list cyclists:
    anquetil 0 0
    contador 0 0
    delgado 6 2
    froome 6 2
    hinault 0 1
    indurain 0 0
    merckx 6 2
    pantani 3 1
    ullrich 0 0
    vingegaard 0 2
    wiggins 0 0
    bernal 12 2
    amstrong 9 1
    lejarreta 11 1
    nibali 14 2
    evans 10 0
    lemond 22 2
    sastre 13 1
    
    Current list cyclists:
    anquetil 0 2
    contador 0 0
    delgado 6 2
    froome 6 2
    hinault 0 1
    indurain 0 0
    merckx 6 2
    pantani 3 1
    ullrich 0 0
    vingegaard 0 2
    wiggins 0 0
    bernal 12 2
    amstrong 9 1
    lejarreta 11 1
    nibali 14 2
    evans 10 0
    lemond 22 2
    sastre 13 1
    
    Current list cyclists:
    anquetil 4 2
    contador 0 0
    delgado 10 2
    froome 10 2
    hinault 2 1
    indurain 0 0
    merckx 10 2
    pantani 5 1
    ullrich 0 0
    vingegaard 2 1
    wiggins 4 2
    bernal 16 2
    amstrong 11 1
    lejarreta 13 1
    nibali 18 2
    evans 10 0
    lemond 26 2
    sastre 15 1
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    ullrich 0 2
    hinault 2 1
    vingegaard 2 1
    anquetil 4 2
    wiggins 4 0
    pantani 5 1
    evans 10 0
    delgado 10 2
    froome 10 2
    merckx 10 2
    amstrong 11 1
    lejarreta 13 1
    sastre 15 1
    bernal 16 2
    nibali 18 1
    lemond 26 2
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    ullrich 4 2
    hinault 4 2
    vingegaard 4 1
    anquetil 8 2
    wiggins 4 0
    pantani 7 1
    evans 10 1
    delgado 14 2
    froome 14 2
    merckx 12 1
    amstrong 13 1
    lejarreta 15 1
    sastre 17 2
    bernal 20 2
    nibali 20 1
    lemond 30 2
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    wiggins 4 0
    vingegaard 6 1
    hinault 8 1
    ullrich 8 2
    pantani 9 2
    evans 12 1
    anquetil 12 2
    merckx 14 1
    amstrong 15 1
    lejarreta 17 1
    delgado 18 2
    froome 18 2
    sastre 21 2
    nibali 22 1
    bernal 24 2
    lemond 34 0
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    wiggins 4 0
    vingegaard 6 1
    hinault 8 1
    ullrich 8 2
    pantani 9 2
    evans 12 1
    anquetil 12 2
    merckx 14 1
    amstrong 15 1
    lejarreta 17 1
    delgado 18 2
    froome 18 2
    sastre 21 2
    nibali 22 1
    bernal 24 2
    lemond 34 0
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    wiggins 8 2
    vingegaard 11 1
    hinault 15 2
    pantani 14 1
    ullrich 16 1
    evans 17 1
    merckx 19 1
    amstrong 18 0
    anquetil 22 2
    lejarreta 20 0
    delgado 24 0
    froome 26 1
    nibali 25 0
    sastre 31 2
    bernal 30 0
    lemond 36 2
    
    Current list cyclists:
    contador 0 0
    indurain 0 0
    wiggins 14 2
    vingegaard 14 1
    hinault 21 2
    pantani 17 1
    ullrich 19 1
    evans 20 1
    merckx 22 1
    amstrong 18 0
    anquetil 28 2
    lejarreta 20 0
    delgado 24 0
    froome 29 1
    nibali 28 1
    sastre 37 2
    bernal 30 0
    lemond 39 1
    
    Current list cyclists:
    contador 0 0
    indurain 0 1
    wiggins 20 2
    vingegaard 20 1
    hinault 27 2
    pantani 20 1
    ullrich 22 1
    evans 23 1
    merckx 25 1
    amstrong 18 0
    anquetil 34 2
    lejarreta 20 1
    delgado 24 0
    froome 32 1
    nibali 28 0
    sastre 43 2
    bernal 30 0
    lemond 42 1
    
    Current list cyclists:
    contador 4 2
    indurain 2 1
    wiggins 24 2
    vingegaard 24 2
    hinault 31 2
    pantani 22 1
    ullrich 24 1
    evans 25 1
    merckx 27 1
    amstrong 18 1
    anquetil 34 0
    lejarreta 20 0
    delgado 24 1
    froome 34 1
    nibali 30 1
    sastre 47 2
    bernal 30 0
    lemond 44 1
    
    Current list cyclists:
    contador 4 2
    indurain 2 0
    wiggins 24 2
    vingegaard 24 2
    hinault 31 2
    pantani 22 1
    ullrich 24 1
    evans 25 1
    merckx 27 1
    amstrong 18 1
    anquetil 34 0
    lejarreta 20 0
    delgado 24 1
    froome 34 1
    nibali 30 1
    sastre 47 2
    bernal 30 2
    lemond 44 1
    
    Current list cyclists:
    indurain 2 0
    contador 6 2
    amstrong 19 1
    lejarreta 20 0
    pantani 23 1
    delgado 25 1
    ullrich 25 1
    evans 26 1
    vingegaard 26 2
    wiggins 26 2
    merckx 29 2
    nibali 31 1
    bernal 32 2
    hinault 33 2
    anquetil 34 0
    froome 35 1
    lemond 45 1
    sastre 49 2
    
    Current list cyclists:
    indurain 2 0
    contador 8 2
    amstrong 20 2
    lejarreta 20 0
    pantani 24 1
    delgado 26 1
    ullrich 26 1
    evans 27 1
    vingegaard 28 2
    wiggins 28 2
    merckx 30 1
    nibali 32 1
    bernal 34 2
    hinault 35 2
    anquetil 34 0
    froome 36 1
    lemond 46 1
    sastre 50 1
    
    Current list cyclists:
    indurain 2 0
    contador 8 0
    amstrong 20 2
    lejarreta 20 0
    pantani 24 1
    delgado 26 1
    ullrich 26 1
    evans 27 1
    vingegaard 28 2
    wiggins 28 2
    merckx 30 1
    nibali 32 1
    bernal 34 2
    hinault 35 2
    anquetil 34 0
    froome 36 1
    lemond 46 1
    sastre 50 1
    
    Current list cyclists:
    indurain 2 0
    contador 8 0
    amstrong 20 2
    lejarreta 20 0
    pantani 24 1
    delgado 26 1
    ullrich 26 1
    evans 27 1
    vingegaard 28 2
    wiggins 28 2
    merckx 30 1
    nibali 32 1
    bernal 34 2
    hinault 35 2
    anquetil 34 0
    froome 36 2
    lemond 46 1
    sastre 50 1
    
    Current list cyclists:
    indurain 2 0
    contador 8 0
    amstrong 26 2
    lejarreta 20 0
    pantani 27 1
    delgado 29 1
    ullrich 29 1
    evans 30 1
    vingegaard 34 2
    wiggins 34 2
    merckx 33 1
    nibali 35 1
    bernal 40 2
    hinault 41 2
    anquetil 34 2
    froome 42 2
    lemond 49 1
    sastre 53 1
    
    Current list cyclists:
    indurain 2 1
    contador 8 0
    lejarreta 20 0
    amstrong 26 2
    pantani 27 0
    delgado 29 1
    ullrich 29 1
    evans 30 1
    merckx 33 1
    wiggins 34 0
    anquetil 34 2
    vingegaard 34 2
    nibali 35 1
    bernal 40 2
    hinault 41 0
    froome 42 2
    lemond 49 1
    sastre 53 1
    
    Current list cyclists:
    indurain 8 1
    contador 8 0
    lejarreta 20 0
    amstrong 32 2
    pantani 27 0
    delgado 35 1
    ullrich 38 2
    evans 39 2
    merckx 39 1
    wiggins 34 0
    anquetil 46 2
    vingegaard 46 2
    nibali 41 2
    bernal 52 1
    hinault 41 0
    froome 54 2
    lemond 55 1
    sastre 59 1
    
    Current list cyclists:
    indurain 8 2
    contador 8 0
    lejarreta 20 0
    amstrong 32 2
    pantani 27 0
    delgado 35 1
    ullrich 38 2
    evans 39 2
    merckx 39 1
    wiggins 34 0
    anquetil 46 2
    vingegaard 46 1
    nibali 41 0
    bernal 52 1
    hinault 41 0
    froome 54 2
    lemond 55 1
    sastre 59 1
    
    
  • Information
    Author
    PRO1
    Language
    Spanish
    Translator
    Original language
    Catalan
    Other languages
    Catalan English
    Official solutions
    C++
    User solutions
    C++