| 123456789101112131415161718192021222324252627282930 |
- 14.
- problema sequíaOlímpica (j:JJOO) = result: [Pais] {
- armar lista de todos los paises, ordenarla por sequiaPais, devolver todos los que tengan max() de la lista
- asegura mismos( .. );
- //Quiero que cada país tenga asociada su sequía y que la lista se ordene en base a eso.
- aux sequiaPais(p:pais): Int
- = jornadaActual(j)-cuantosDiasGano(p);
- aux cuantosDiasGano(p:pais): Int
- = |[ 1 | x <- [0..jornadaActual(j)-1], ganoEnElDia(x,p) ]|;
- aux ganoEnElDia(dia,pais) : Bool
- = |[ 1 | c <- cronograma(j, dia), en(pais, paisesQueGanaronCompetencia(c)) ]|>0;
- aux paisesQueGanaronCompetencia(c:Competencia) : [paises]
- = [ pais(a) | a <- ranking(c) ];
- aux listaPaisesConSequia(j: JJOO) : [(Pais, Int)]
- = [(p, sequiaPais(p)) | p <- listaPaises(j)];
- aux ordenarPorSequia(ls: (Pais, Int)) : [(Pais, Int)]
- = Itero, busco el mayor, lo saco de la lista, busco el mayor de la sublista y voy armando la lista con eso.
- }
- *aux paisesQueGanaronCompetencia(c:Competencia) : [paises] = [ pais(ranking(c)[a]) | a <- [0.. |ranking(c) |-1 ], a <= 2 ]
|