#define USECHRONO #undef HAVE_MPI #include "eval.hpp" #include #include #include #include #include using namespace aed; using namespace std; //---:---<*>---:---<*>- COMIENZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> // COMPLETAR DNI y NOMBRE AQUI: // Nombre: Juan Pablo Fontana int DNI=42002929; //---:---<*>---:---<*>---:---<*>---:---<*>---:---<*> //funcion que suma conjuntos int sum_set(set &S){ if(S.size()==0)return 0; auto it=S.begin(); int r=0; while(it!=S.end()){ r+=*it; ++it; } return r; } //metodo visto en clases void obtener_subconjuntos(set &S,set C,set::iterator itS,list> &L){ if(itS==S.end())return; set D=C; C.insert(C.end(),*itS); itS++; L.insert(L.end(),C); obtener_subconjuntos(S,C,itS,L); obtener_subconjuntos(S,D,itS,L); } bool prom_subc(set &S) { //obtener promedio int s=sum_set(S); int size=S.size(); int Prom=s/size; //obtener subconjuntos list> L; obtener_subconjuntos(S,{},S.begin(),L); //agregamos el conjunto vacio,que no esta con el metodo visto en clase L.push_back({}); auto it=L.begin(); //si la suma de alguno me da el promedio, return true while(it!=L.end()){ int SP=sum_set(*it); if(SP==Prom)return true; ++it; } return false; } int main() { Eval ev; int vrbs = 0; ev.eval<1>(prom_subc,vrbs); return 0; }