El objetivo en este examen será modificar algunos aspectos de tu solución de la práctica. Concretamente deberás
Los detalles están descritos con precisión en el documento enunciado_examen.pdf que forma parte del archivo public.tar que puedes descargar en esta página (icono del gatito). Verás que tendrás que modificar elementos ya existentes en tu práctica, y tambien añadir una funcionalidad nueva al main y operaciones nuevas a algunas clases.
IMPORTANTE: Este problema de Jutge es el único canal disponible para realizar la entrega del examen de la práctica. Ten en cuenta que
Observación Recomendamos que hagas una copia “limpia” de tu práctica en un subdirectorio aparte y en esa copia lleves a cabo todos los cambios.
Verifica que todos los módulos compilan sin errores, que el proceso de montaje da un archivo ejecutable correcto y que el program.exe pasa el juego de pruebas público suministrado.
Comprueba que tu Makefile genera el fichero program.exe y crea el fichero .tar para hacer el envío al Jutge. Asegúrate que entregas el fichero .tar con la solución del examen, no la solución original. No es necesario incluir la carpeta con la documentación en Doxygen ni, en su caso, la de la competencia tranversal.
El Jutge prueba tus entregas mediante 4 juegos de pruebas que, salvo por los cambios introducidos en este enunciado, tienen la misma sintaxis que los de la práctica y menos requisitos de eficiencia.
En un fichero llamado practica.tar debes entregar
Ten en cuenta las siguientes restricciones:
Produce el fichero practica.tar con la instrucción Linux
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
desde el directorio/carpeta donde tengas los ficheros que vas a entregar. Incluye esta instrucción en tu Makefile, de forma que el .tar se pueda generar ejecutando make practica.tar. Con eso reduciras el riesgo de error en sucesivas entregas. El Jutge no acepta .tar donde los ficheros estén dentro de carpetas. Recomendamos usar GNU tar para reducir el riesgo de que el fichero practica.tar sea incompatible con el Jutge.
Input
107 V01 V02 V03 V04 V05 V06 V07 V08 V09 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24 V25 T01 T02 T03 T04 T05 P01 P02 P03 P04 P05 P06 C01 C02 C03 C04 C05 L01 L02 L03 L04 L05 L06 L07 L08 S01 S02 S03 M01 M02 M03 M04 M05 M06 M07 CP01 CP02 CP03 CP04 CP05 CP06 CP07 AB01 AB02 AB03 AB04 AB05 AB06 AB07 AB08 AB09 AB10 AB11 AG01 AG02 AG03 AG04 G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 DV01 DV02 DV03 DV04 DV05 DV06 DV07 GE01 GE02 GE03 GE04 GE05 GE06 GE07 19 tuplas T01 T02 T04 0 0 T05 0 0 T03 0 0 vectores_0 V01 V02 0 0 V03 0 0 vectores_1 V01 V02 V04 0 0 0 V03 V05 0 0 V06 0 0 vectores_2 V07 V08 V09 V10 0 0 0 V11 0 0 V12 V13 V14 0 0 0 0 vectores_3 V15 V16 V17 0 0 V18 0 0 0 matrices V19 V20 V21 0 0 0 V22 V23 0 0 0 pilas P01 P02 P04 0 0 0 P03 0 0 colas C01 C02 C03 0 0 0 0 vectores_sel V06 V10 V16 0 0 V24 V22 0 0 0 V25 V14 0 0 V18 0 0 pilas_y_colas_sel P03 P05 P06 0 0 0 C02 C04 0 0 C05 0 0 listas_1 L01 L02 L04 0 0 0 L03 0 0 listas_2 L05 L06 L07 0 0 L08 0 0 0 arb_bin_1 AB01 AB02 AB03 AB04 0 0 AB05 0 0 0 AB06 0 0 arb_bin_2 AB07 AB08 0 0 AB09 AB10 0 0 AB11 0 0 sets S01 S02 0 0 S03 0 0 maps M01 M02 M03 0 0 M05 0 0 M04 M06 0 0 M07 0 0 colas_prior CP01 CP02 CP04 0 0 0 CP03 CP05 CP06 0 0 CP07 0 0 0 divide_y_venceras DV01 DV02 DV04 0 0 DV05 0 0 DV03 DV06 0 0 DV07 0 0 generacion_exhaustiva GE01 GE02 GE04 GE06 0 0 0 0 GE03 GE05 GE07 0 0 0 0 3 2 tuplas vectores_0 7 tuplas vectores_1 vectores_2 vectores_3 matrices pilas colas 9 vectores_sel pilas_y_colas_sel listas_1 listas_2 arb_bin_1 arb_bin_2 sets maps colas_prior 12 MarcTerStegen SerginhoDest SergioBusquets Pedri LionelMessi AnsuFati AlexiaPutellas AitanaBonmati JenniferHermoso LiekeMartens VickyLosada MapiLeon nuevo_problema S03 np S04 np M08 np M09 nuevo_problema G13 np G14 np G15 np G16 np G01 nueva_sesion maps M07 M08 0 0 M09 0 0 ns maps_y_sets_sel S02 M02 M04 0 0 M08 0 0 S04 M05 0 0 M07 M09 0 0 0 nueva_sesion grafos_1 G01 G02 G03 G05 0 0 G06 0 0 G04 0 0 0 ns grafos_2 G07 G08 0 0 G09 G10 G12 0 0 0 G11 0 0 ns grafos_sel G01 G02 G03 G13 0 0 0 G04 G14 0 0 0 G07 G08 G15 0 0 0 G09 G16 0 0 0 nuevo_curso 5 vectores_sel matrices pilas_y_colas_sel listas_1 arb_bin_1 nc 7 vectores_2 colas colas_prior pilas_y_colas_sel listas_2 sets maps nuevo_curso 2 maps_y_sets_sel colas_prior nc 6 maps_y_sets_sel colas_prior divide_y_venceras grafos_1 grafos_2 generacion_exhaustiva alta_usuario SergioBusquets a OusmaneDembele baja_usuario AnsuFati b AnsuFati lc escribir_problema G12 ep G99 escribir_sesion grafos_2 es grafos_3 es grafos_sel escribir_curso 5 ec 6 escribir_usuario LuisSuarez eu LionelMessi sesion_problema 1 V01 sp 0 V01 sp 1 V20 sp 1 V30 sp 2 V06 sp 3 V06 sp 4 M04 sp 5 G11 sp 6 L01 inscribir_curso Pedri 1 i Pedri 2 i AnsuFati 1 i LionelMessi 7 i LionelMessi 3 i AitanaBonmati 2 i MarcTerStegen 4 i VickyLosada 4 i LiekeMartens 1 i MapiLeon 5 problemas_enviables Pedri problemas_enviables AitanaBonmati pe MapiLeon pe AnsuFati pe SerginhoDest problemas_resueltos Pedri pr LuisSuarez curso_usuario AitanaBonmati escribir_curso 2 b AitanaBonmati ec 2 cu AitanaBonmati cu JenniferHermoso cu MarcTerStegen lu a AitanaBonmati acabar_curso LuisSuarez ac SerginhoDest envio Pedri V01 0 e Pedri V01 0 e Pedri V01 1 e Pedri T01 1 pe Pedri pr Pedri e Pedri V02 0 e Pedri V03 1 e Pedri V02 1 e Pedri T02 1 e Pedri T02 0 e Pedri T02 1 e Pedri T04 0 e Pedri T04 0 pe Pedri e Pedri T04 1 e Pedri T03 0 e Pedri T03 0 e Pedri T03 1 e Pedri T03 0 e Pedri T05 1 e Pedri T05 1 pe Pedri problemas_resueltos Pedri curso_usuario Pedri acabar_curso Pedri curso_usuario Pedri escribir_curso 1 inscribir_curso Pedri 2 problemas_enviables Pedri e Pedri L01 0 e Pedri V20 0 e Pedri V02 1 e Pedri T03 1 e Pedri V06 1 e Pedri V04 0 e Pedri V04 1 e Pedri V05 1 e Pedri P01 1 e Pedri C01 0 e Pedri C01 0 e Pedri V19 0 e Pedri V19 0 e Pedri V19 0 e Pedri V04 1 pe Pedri pr Pedri ac Pedri inscribir_curso Pedri 4 problemas_enviables Pedri ac VickyLosada envio LionelMessi AB01 0 e LionelMessi AB07 0 e LionelMessi V06 0 e LionelMessi P03 0 e LionelMessi L01 0 e LionelMessi L05 0 e LionelMessi L05 1 e LionelMessi AB07 1 e LionelMessi AB07 1 pe LionelMessi envio MapiLeon GE01 1 e MapiLeon G01 1 e MapiLeon G07 0 e MapiLeon G07 1 e MapiLeon CP01 0 e MapiLeon CP01 1 e MapiLeon CP03 0 e MapiLeon CP03 0 e MapiLeon CP03 1 e MapiLeon CP03 0 e MapiLeon CP03 1 e MapiLeon G01 0 pe MapiLeon pr MapiLeon ac MapiLeon pe MapiLeon pr MapiLeon envio LiekeMartens T01 0 e LiekeMartens V01 0 e LiekeMartens T01 1 eu LiekeMartens b LiekeMartens i AlexiaPutellas 1 e AlexiaPutellas T01 1 cu AlexiaPutellas listar_sesiones listar_cursos listar_usuarios listar_problemas fin
Output
#nuevo_problema S03 error: el problema ya existe #np S04 108 #np M08 109 #np M09 110 #nuevo_problema G13 111 #np G14 112 #np G15 113 #np G16 114 #np G01 error: el problema ya existe #nueva_sesion maps error: la sesion ya existe #ns maps_y_sets_sel 20 #nueva_sesion grafos_1 21 #ns grafos_2 22 #ns grafos_sel 23 #nuevo_curso error: curso mal formado #nc error: curso mal formado #nuevo_curso 4 #nc 5 #alta_usuario SergioBusquets error: el usuario ya existe #a OusmaneDembele 13 #baja_usuario AnsuFati 12 #b AnsuFati error: el usuario no existe #lc 1 0 2 (tuplas vectores_0) 2 0 7 (tuplas vectores_1 vectores_2 vectores_3 matrices pilas colas) 3 0 9 (vectores_sel pilas_y_colas_sel listas_1 listas_2 arb_bin_1 arb_bin_2 sets maps colas_prior) 4 0 2 (maps_y_sets_sel colas_prior) 5 0 6 (maps_y_sets_sel colas_prior divide_y_venceras grafos_1 grafos_2 generacion_exhaustiva) #escribir_problema G12 G12(0,0,1) #ep G99 error: el problema no existe #escribir_sesion grafos_2 grafos_2 6 ((G08)(((G12)G10)(G11)G09)G07) #es grafos_3 error: la sesion no existe #es grafos_sel grafos_sel 11 ((((G13)G03)((G14)G04)G02)(((G15)G08)((G16)G09)G07)G01) #escribir_curso 5 5 0 6 (maps_y_sets_sel colas_prior divide_y_venceras grafos_1 grafos_2 generacion_exhaustiva) #ec 6 error: el curso no existe #escribir_usuario LuisSuarez error: el usuario no existe #eu LionelMessi LionelMessi(0,0,0) #sesion_problema 1 V01 vectores_0 #sp 0 V01 error: el curso no existe #sp 1 V20 error: el problema no pertenece al curso #sp 1 V30 error: el problema no existe #sp 2 V06 vectores_1 #sp 3 V06 vectores_sel #sp 4 M04 maps_y_sets_sel #sp 5 G11 grafos_2 #sp 6 L01 error: el curso no existe #inscribir_curso Pedri 1 1 #i Pedri 2 error: usuario inscrito en otro curso #i AnsuFati 1 error: el usuario no existe #i LionelMessi 7 error: el curso no existe #i LionelMessi 3 1 #i AitanaBonmati 2 1 #i MarcTerStegen 4 1 #i VickyLosada 4 2 #i LiekeMartens 1 2 #i MapiLeon 5 1 #problemas_enviables Pedri T01 V01 #problemas_enviables AitanaBonmati C01 P01 T01 V01 V07 V15 V19 #pe MapiLeon CP01 DV01 G01 G07 GE01 S02 #pe AnsuFati error: el usuario no existe #pe SerginhoDest error: usuario no inscrito en ningun curso #problemas_resueltos Pedri #pr LuisSuarez error: el usuario no existe #curso_usuario AitanaBonmati 2 #escribir_curso 2 2 1 7 (tuplas vectores_1 vectores_2 vectores_3 matrices pilas colas) #b AitanaBonmati 11 #ec 2 2 0 7 (tuplas vectores_1 vectores_2 vectores_3 matrices pilas colas) #cu AitanaBonmati error: el usuario no existe #cu JenniferHermoso 0 #cu MarcTerStegen 4 #lu AlexiaPutellas(0,0,0) JenniferHermoso(0,0,0) LiekeMartens(0,0,1) LionelMessi(0,0,3) MapiLeon(0,0,5) MarcTerStegen(0,0,4) OusmaneDembele(0,0,0) Pedri(0,0,1) SerginhoDest(0,0,0) SergioBusquets(0,0,0) VickyLosada(0,0,4) #a AitanaBonmati 12 #acabar_curso LuisSuarez error: el usuario no existe #ac SerginhoDest error: usuario no inscrito en ningun curso #envio Pedri V01 0 #e Pedri V01 0 #e Pedri V01 1 #e Pedri T01 1 #pe Pedri T01 T02 T03 V01 V02 V03 #pr Pedri T01 V01 #e Pedri V02 0 #e Pedri V03 1 #e Pedri V02 1 #e Pedri T02 1 #e Pedri T02 0 #e Pedri T02 1 #e Pedri T04 0 #e Pedri T04 0 #pe Pedri T01 T02 T03 T04 T05 V01 V02 V03 #e Pedri T04 1 #e Pedri T03 0 #e Pedri T03 0 #e Pedri T03 1 #e Pedri T03 0 #e Pedri T05 1 #e Pedri T05 1 #pe Pedri T01 T02 T03 T04 T05 V01 V02 V03 #problemas_resueltos Pedri T01 T02 T03 T04 T05 V01 V02 V03 #curso_usuario Pedri 1 #acabar_curso Pedri 1 #curso_usuario Pedri 0 #escribir_curso 1 1 1 2 (tuplas vectores_0) #inscribir_curso Pedri 2 1 #problemas_enviables Pedri C01 P01 T01 T02 T03 T04 T05 V01 V02 V03 V04 V05 V06 V07 V15 V19 #e Pedri L01 0 error: problema no enviable #e Pedri V20 0 error: problema no enviable #e Pedri V02 1 #e Pedri T03 1 #e Pedri V06 1 #e Pedri V04 0 #e Pedri V04 1 #e Pedri V05 1 #e Pedri P01 1 #e Pedri C01 0 #e Pedri C01 0 #e Pedri V19 0 #e Pedri V19 0 #e Pedri V19 0 #e Pedri V04 1 #pe Pedri C01 P01 P02 P03 T01 T02 T03 T04 T05 V01 V02 V03 V04 V05 V06 V07 V15 V19 #pr Pedri P01 T01 T02 T03 T04 T05 V01 V02 V03 V04 V05 V06 #ac Pedri 0 #inscribir_curso Pedri 4 3 #problemas_enviables Pedri CP01 S02 #ac VickyLosada 2 #envio LionelMessi AB01 0 #e LionelMessi AB07 0 #e LionelMessi V06 0 #e LionelMessi P03 0 #e LionelMessi L01 0 #e LionelMessi L05 0 #e LionelMessi L05 1 #e LionelMessi AB07 1 #e LionelMessi AB07 1 #pe LionelMessi AB01 AB07 AB08 AB09 CP01 L01 L05 L06 M01 P03 S01 V06 #envio MapiLeon GE01 1 #e MapiLeon G01 1 #e MapiLeon G07 0 #e MapiLeon G07 1 #e MapiLeon CP01 0 #e MapiLeon CP01 1 #e MapiLeon CP03 0 #e MapiLeon CP03 0 #e MapiLeon CP03 1 #e MapiLeon CP03 0 #e MapiLeon CP03 1 #e MapiLeon G01 0 #pe MapiLeon CP01 CP02 CP03 CP05 DV01 G01 G02 G07 G08 G09 GE01 GE02 GE03 S02 #pr MapiLeon CP01 CP03 G01 G07 GE01 #ac MapiLeon 0 #pe MapiLeon error: usuario no inscrito en ningun curso #pr MapiLeon CP01 CP03 G01 G07 GE01 #envio LiekeMartens T01 0 #e LiekeMartens V01 0 #e LiekeMartens T01 1 #eu LiekeMartens LiekeMartens(3,1,1) #b LiekeMartens 11 #i AlexiaPutellas 1 1 #e AlexiaPutellas T01 1 #cu AlexiaPutellas 1 #listar_sesiones arb_bin_1 6 ((((AB04)(AB05)AB03)AB02)(AB06)AB01) arb_bin_2 5 ((AB08)((AB10)(AB11)AB09)AB07) colas 3 (((C03)C02)C01) colas_prior 7 (((CP04)CP02)(((CP06)(CP07)CP05)CP03)CP01) divide_y_venceras 7 (((DV04)(DV05)DV02)((DV06)(DV07)DV03)DV01) generacion_exhaustiva 7 ((((GE06)GE04)GE02)(((GE07)GE05)GE03)GE01) grafos_1 6 ((((G05)(G06)G03)(G04)G02)G01) grafos_2 6 ((G08)(((G12)G10)(G11)G09)G07) grafos_sel 11 ((((G13)G03)((G14)G04)G02)(((G15)G08)((G16)G09)G07)G01) listas_1 4 (((L04)L02)(L03)L01) listas_2 4 (((L07)(L08)L06)L05) maps 7 (((M03)(M05)M02)((M06)(M07)M04)M01) maps_y_sets_sel 8 (((M04)(M08)M02)((M05)((M09)M07)S04)S02) matrices 5 (((V21)V20)((V23)V22)V19) pilas 4 (((P04)P02)(P03)P01) pilas_y_colas_sel 6 (((P06)P05)((C04)(C05)C02)P03) sets 3 ((S02)(S03)S01) tuplas 5 (((T04)(T05)T02)(T03)T01) vectores_0 3 ((V02)(V03)V01) vectores_1 6 (((V04)V02)((V05)(V06)V03)V01) vectores_2 8 ((((V10)V09)(V11)V08)(((V14)V13)V12)V07) vectores_3 4 (((V17)(V18)V16)V15) vectores_sel 8 (((V16)((V22)V24)V10)((V14)(V18)V25)V06) #listar_cursos 1 1 2 (tuplas vectores_0) 2 0 7 (tuplas vectores_1 vectores_2 vectores_3 matrices pilas colas) 3 1 9 (vectores_sel pilas_y_colas_sel listas_1 listas_2 arb_bin_1 arb_bin_2 sets maps colas_prior) 4 2 2 (maps_y_sets_sel colas_prior) 5 0 6 (maps_y_sets_sel colas_prior divide_y_venceras grafos_1 grafos_2 generacion_exhaustiva) #listar_usuarios AitanaBonmati(0,0,0) AlexiaPutellas(1,1,1) JenniferHermoso(0,0,0) LionelMessi(9,2,3) MapiLeon(12,5,0) MarcTerStegen(0,0,4) OusmaneDembele(0,0,0) Pedri(32,12,4) SerginhoDest(0,0,0) SergioBusquets(0,0,0) VickyLosada(0,0,0) #listar_problemas AB02(0,0,1) AB03(0,0,1) AB04(0,0,1) AB05(0,0,1) AB06(0,0,1) AB08(0,0,1) AB09(0,0,1) AB10(0,0,1) AB11(0,0,1) AG01(0,0,1) AG02(0,0,1) AG03(0,0,1) AG04(0,0,1) C02(0,0,1) C03(0,0,1) C04(0,0,1) C05(0,0,1) CP02(0,0,1) CP04(0,0,1) CP05(0,0,1) CP06(0,0,1) CP07(0,0,1) DV01(0,0,1) DV02(0,0,1) DV03(0,0,1) DV04(0,0,1) DV05(0,0,1) DV06(0,0,1) DV07(0,0,1) G02(0,0,1) G03(0,0,1) G04(0,0,1) G05(0,0,1) G06(0,0,1) G08(0,0,1) G09(0,0,1) G10(0,0,1) G11(0,0,1) G12(0,0,1) G13(0,0,1) G14(0,0,1) G15(0,0,1) G16(0,0,1) GE01(1,1,1) GE02(0,0,1) GE03(0,0,1) GE04(0,0,1) GE05(0,0,1) GE06(0,0,1) GE07(0,0,1) L02(0,0,1) L03(0,0,1) L04(0,0,1) L06(0,0,1) L07(0,0,1) L08(0,0,1) M01(0,0,1) M02(0,0,1) M03(0,0,1) M04(0,0,1) M05(0,0,1) M06(0,0,1) M07(0,0,1) M08(0,0,1) M09(0,0,1) P01(1,1,1) P02(0,0,1) P04(0,0,1) P05(0,0,1) P06(0,0,1) S01(0,0,1) S02(0,0,1) S03(0,0,1) S04(0,0,1) T05(2,2,1) V03(1,1,1) V05(1,1,1) V07(0,0,1) V08(0,0,1) V09(0,0,1) V10(0,0,1) V11(0,0,1) V12(0,0,1) V13(0,0,1) V14(0,0,1) V15(0,0,1) V16(0,0,1) V17(0,0,1) V18(0,0,1) V20(0,0,1) V21(0,0,1) V22(0,0,1) V23(0,0,1) V24(0,0,1) V25(0,0,1) T01(4,3,1.25) AB07(3,2,1.33333) T02(3,2,1.33333) V02(3,2,1.33333) V04(3,2,1.33333) CP01(2,1,1.5) G01(2,1,1.5) G07(2,1,1.5) L05(2,1,1.5) V06(2,1,1.5) AB01(1,0,2) CP03(5,2,2) L01(1,0,2) P03(1,0,2) T03(5,2,2) T04(3,1,2) V01(4,1,2.5) C01(2,0,3) V19(3,0,4)