Pràctica de PRO2 - Primavera 2017 (Provisional) X34745


Statement
 

pdf   zip   tar

html

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.

Entrada

Una seqüència d’instruccions seguint el format de l’enunciat de la pràctica i del joc de proves public.

Sortida

El seu resultat seguint el format de l’enunciat de la pràctica i del joc de proves public.

Observació

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.

Public test cases
  • 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
    
  • Information
    Author
    PR02
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make