David 10 年之前
父节点
当前提交
96b85a8266
共有 1 个文件被更改,包括 30 次插入0 次删除
  1. 30 0
      textoPlano/punto 14

+ 30 - 0
textoPlano/punto 14

@@ -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 ]
+