Las soluciones deben ir en los archivos p1.c, p2.c, p3.c, muestrear.c y p5.c.
Los programas p1.c, p2.c, p3.c, p5.c se compilan y prueban con:
make test-p1 ; ./test-p1
make test-p2 ; ./test-p2
...

Tiene sentido correr valgrind para p2.c y revisar los memory leaks. Si tiene, es porque se le olvidó liberar la memoria ocupada por las hojas.

muestrear.c se compila con: make muestrear
Ejecute con:
./muestrear noms.txt 3
./muestrear noms.txt 4
Revise que los resultados son idénticos a los del enunciado.

Si sospecha que tiene problemas de manejo de memoria, puede correr valgrind para p2.c, p3.c, muestrear.c y p5.c, por ejemplo con:
make test-p2-valgrind-ddd

No tiene sentido correr valgrind con p1.c porque no usa memoria dinámica.
