|
@@ -0,0 +1,30 @@
|
|
|
|
|
+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 ]
|
|
|
|
|
+
|