#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: Caseda Leonardo int DNI=44839721; //---:---<*>---:---<*>---:---<*>---:---<*>---:---<*> void subk(set &S, int k, set C, set::iterator itS, list> &LK) { if (itS == S.end()) return; if (k == 0) { LK.insert(LK.begin(),C); return;} set D = C; C.insert(C.end(), *itS); itS++; if (C.size() == k){ LK.insert(LK.end(),C); } subk(S,k,C,itS,LK); subk(S,k,D,itS,LK); } list> subk(set &S, int k){ set C; C.clear(); list> LK; set::iterator itS = S.begin(); subk(S,k,C,itS,LK); return LK; } list> all_subk(set &S){ list>allsubk; if(S.empty())return allsubk; for(int i=0;i>aux=subk(S,i); allsubk.insert(allsubk.end(),aux.begin(),aux.end()); } return allsubk; } int get_suma(set C){ int suma=0; if(C.empty())return suma; for( set::iterator it=C.begin(); it!=C.end(); ++it ){ suma+=*it; } return suma; } float get_promedio(set C){ float prom=0; if(C.empty())return prom; for( set::iterator it=C.begin(); it!=C.end(); ++it ) { prom+=*it; } prom=prom/C.size(); return prom; } bool prom_subc(set &S) { int promedio=get_promedio(S); auto allsubk=all_subk(S); for( auto it=allsubk.begin(); it!=allsubk.end(); ++it ) { if(promedio==get_suma(*it)){ return true; } } return false; } int main() { Eval ev; int vrbs = 0; ev.eval<1>(prom_subc,vrbs); return 0; }