Aquest és un problema de Jutge que permet fer lliuraments de prova de la pràctica. Tingueu en compte que:
No és el canal per a fer el lliurament definitiu de la pràctica.
El lliurament definitiu inclourà més fitxers que els que es demanan aquí.
El lliuraments fets en aquest problema del Jutge no seran tinguts en compte per a la nota de la pràctica.
Una seqüència d’instruccions seguint el format de l’enunciat de la pràctica i del joc de proves public.
El seu resultat seguint el format de l’enunciat de la pràctica i del joc de proves public.
El Jutge prova el vostre lliurament mitjançant 4 jocs de proves:
sample: el joc de proves públic. S’han fet petits canvis.
privat1: joc de proves privat que fa èmfasi en l’operació de reproducció.
privat2: joc de proves privat que fa èmfasi en l’operació d’arbre genealògic per nivells.
privat3: joc de proves privat que fa èmfasi en l’operació d’arbre genealògic completable.
En un fitxer de nom practica.tar heu de
lliurar
Els fitxers .hh i .cc.
El fitxer Makefile (l’usarem per genera el fitxer executable i provar-lo).
Tingueu en compte les restriccions següents:
El mòdul que conté la funció main s’ha
de dir program.cc.
El Makefile ha de generar un executable
de nom program.exe.
Recomanem que useu les opcions de compilació del Jutge de PRO2 (vegeu Documentation Compilers PRO2 a www.jutge.org).
No usar l’opció -D_GLIBCXX_DEBUG o no
usar-la correctament serà fortament penalitzat.
Produïu el fitxer .tar amb la comanda
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
des del directori on es troben els fitxers que heu de lliurar. Poseu
aquesta instrucció en el vostre Makefile de
forma que es pugui generar el .tar executant
make practica.tar. Amb això reduireu la
possibilitat d’error en enviaments successius. El Jutge no accepta
.tar on els fitxers a lliurar es troben dins
de carpetes. Recomanem usar GNU tar per reduir
el risc que el .tar singui incompatible amb el Jutge. No
cal incloure a practica.tar ni
Arbre.hh ni
PRO2Excepcio.hh.
Input
5 3 6 7 6 7 6 5 3 3 a1 X 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 a2 X 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 0 1 b3 Y 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 anadir_individuo b4 Y 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 anadir_individuo a2 Y 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 escribir_poblacion reproduccion_sexual a1 b3 c1 0 1 2 1 1 3 1 0 5 1 1 4 0 0 3 1 1 4 reproduccion_sexual a2 b4 d2 1 1 1 0 0 3 1 0 4 0 0 4 1 1 3 0 1 2 reproduccion_sexual a0 b4 d3 0 1 2 1 1 3 1 0 5 0 0 4 1 1 3 0 1 2 escribir_poblacion reproduccion_sexual c1 b3 w6 0 1 2 1 1 3 1 0 5 0 0 4 1 1 3 0 1 2 reproduccion_sexual c1 d2 e1 0 1 2 1 1 3 1 0 5 0 0 4 1 1 3 0 1 2 escribir_poblacion escribir_arbol_genealogico d1 escribir_arbol_genealogico c1 completar_arbol_genealogico d1 $ $ completar_arbol_genealogico c1 $ $ completar_arbol_genealogico e1 $ c1 $ $ anadir_individuo m1 X 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 reproduccion_sexual m1 c1 e1 0 1 2 1 1 3 1 0 5 0 0 4 1 1 3 0 1 2 reproduccion_sexual m1 c1 h1 1 0 2 1 1 3 1 0 2 0 0 4 1 1 3 0 1 2 escribir_genotipo h1 escribir_poblacion completar_arbol_genealogico e1 c1 $ $ $ escribir_genotipo b4 escribir_genotipo c1 escribir_genotipo nemo escribir_genotipo d2 acabar
Output
anadir_individuo b4 anadir_individuo a2 error escribir_poblacion a1 XX ($,$) a2 XX ($,$) b3 XY ($,$) b4 XY ($,$) reproduccion_sexual a1 b3 c1 reproduccion_sexual a2 b4 d2 reproduccion_sexual a0 b4 d3 error escribir_poblacion a1 XX ($,$) a2 XX ($,$) b3 XY ($,$) b4 XY ($,$) c1 XY (b3,a1) d2 XY (b4,a2) reproduccion_sexual c1 b3 w6 no es posible reproduccion reproduccion_sexual c1 d2 e1 no es posible reproduccion escribir_poblacion a1 XX ($,$) a2 XX ($,$) b3 XY ($,$) b4 XY ($,$) c1 XY (b3,a1) d2 XY (b4,a2) escribir_arbol_genealogico d1 error escribir_arbol_genealogico c1 Nivel 0: c1 Nivel 1: b3 a1 completar_arbol_genealogico d1 no es arbol parcial completar_arbol_genealogico c1 c1 *b3* $ $ *a1* $ $ completar_arbol_genealogico e1 no es arbol parcial anadir_individuo m1 reproduccion_sexual m1 c1 e1 reproduccion_sexual m1 c1 h1 escribir_genotipo h1 X: 0 1 0 0 1 X: 0 1 0 1 0 1.1: 1 1 1 1 1 1 1.2: 1 1 0 1 1 1 2.1: 1 0 1 0 1 1 0 2.2: 0 1 1 0 1 1 1 3.1: 0 1 1 1 1 0 3.2: 1 0 0 1 0 0 4.1: 0 1 1 0 1 1 0 4.2: 1 0 1 0 1 0 0 5.1: 1 1 1 1 0 0 5.2: 0 0 1 1 1 0 escribir_poblacion a1 XX ($,$) a2 XX ($,$) b3 XY ($,$) b4 XY ($,$) c1 XY (b3,a1) d2 XY (b4,a2) e1 XY (c1,m1) h1 XX (c1,m1) m1 XX ($,$) completar_arbol_genealogico e1 e1 c1 *b3* $ $ *a1* $ $ *m1* $ $ escribir_genotipo b4 X: 1 1 0 0 1 Y: 0 1 0 1.1: 1 0 0 0 1 0 1.2: 1 1 1 1 1 1 2.1: 0 0 0 0 0 0 0 2.2: 1 0 1 0 1 1 1 3.1: 0 1 1 1 0 0 3.2: 1 0 0 1 1 0 4.1: 1 0 1 1 1 1 0 4.2: 0 1 1 0 1 0 0 5.1: 1 1 1 1 1 0 5.2: 0 0 0 1 1 1 escribir_genotipo c1 X: 0 1 0 1 0 Y: 1 0 1 1.1: 0 0 0 1 1 0 1.2: 1 1 0 1 1 1 2.1: 0 1 1 0 1 1 0 2.2: 1 1 1 0 1 0 0 3.1: 1 0 0 1 1 0 3.2: 1 0 0 1 1 0 4.1: 1 1 1 0 0 1 0 4.2: 1 0 1 0 1 1 0 5.1: 0 1 0 1 0 1 5.2: 0 0 1 1 0 0 escribir_genotipo nemo error escribir_genotipo d2 X: 1 1 0 0 0 Y: 0 1 0 1.1: 0 1 1 0 1 0 1.2: 1 0 0 1 0 0 2.1: 0 1 1 0 0 0 0 2.2: 0 0 0 0 1 1 1 3.1: 1 1 1 1 0 0 3.2: 0 1 1 1 1 0 4.1: 0 0 1 0 1 0 0 4.2: 0 1 1 1 1 0 0 5.1: 1 1 0 1 1 1 5.2: 0 0 1 0 1 1 acabar