Pràctica de PRO2 - Tardor 2018 (Provisional - USEU EL DEFINITIU) X16084


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 pot ser diferent a aquest.
  • 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.
  • privat1: joc de proves privat molt similar al públic.
  • privat2: joc de proves privat que fa èmfasi en la gestió de la memòria dels processsadors.
  • privat3: joc de proves privat que fa èmfasi en la distribució de processos al cluster.

En un fitxer de nom practica.tar heu de lliurar

  • Els fitxers .hh i .cc.
  • El fitxer Makefile (l’usarem per generar 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 BinTree.hh a practica.tar. Si es fa servir PRO2Excepcio.hh, que no es obligatori, si que cal incloure’l.

Public test cases
  • Input

    configurar_cluster 10
    5 3 2 0 8 0 0 0 1 9 0 0 7 4 6 0 0 0 10 0 0
    10
    20
    30
    40
    50
    10
    20
    30
    40
    50
    consultar_usuario patata
    enviar_proceso_a_usuario patata 100 10 10
    consultar_usuario patata
    poner_usuario patata
    consultar_usuario patata
    enviar_proceso_a_usuario patata 100 10 10
    consultar_usuario patata
    consultar_procesador 5
    enviar_procesos_a_cluster 10
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    consultar_usuario patata
    poner_usuario boniato
    enviar_proceso_a_usuario boniato 101 41 20
    poner_usuario lechuga
    enviar_proceso_a_usuario lechuga 102 1 1
    consultar_usuario boniato
    consultar_usuario lechuga
    enviar_procesos_a_cluster 1
    consultar_usuario boniato
    consultar_usuario lechuga
    consultar_procesador 5
    consultar_procesador 10
    enviar_proceso_a_usuario boniato 103 60 8
    enviar_proceso_a_usuario boniato 104 12 100
    enviar_proceso_a_usuario boniato 105 20 80
    enviar_proceso_a_usuario boniato 106 7 10
    enviar_proceso_a_usuario boniato 107 30 20
    enviar_proceso_a_usuario boniato 108 15 40
    enviar_proceso_a_usuario lechuga 109 30 20
    enviar_proceso_a_usuario lechuga 110 15 40
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    enviar_procesos_a_cluster 6
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    avanzar_tiempo 11
    consultar_procesador 1
    consultar_procesador 2
    consultar_procesador 3
    consultar_procesador 4
    consultar_procesador 5
    consultar_procesador 6
    consultar_procesador 7
    consultar_procesador 8
    consultar_procesador 9
    consultar_procesador 10
    quitar_usuario patata
    quitar_usuario boniato
    consultar_usuario patata
    consultar_usuario boniato
    consultar_usuario lechuga
    poner_proceso_en_procesador 6 boniato 111 1000 10
    consultar_procesador 6
    consultar_usuario boniato
    poner_proceso_en_procesador 6 boniato 112 10 10
    consultar_procesador 6
    consultar_usuario boniato
    quitar_proceso_de_procesador 4 200
    consultar_procesador 4
    quitar_proceso_de_procesador 4 107
    consultar_procesador 4
    configurar_cluster 2
    1 2 0 0 0
    100
    200
    enviar_procesos_a_cluster 100
    consultar_procesador 1
    consultar_procesador 2
    consultar_usuario boniato
    consultar_usuario lechuga
    acabar
    
    

    Output

    Usuario patata
    Usuario patata
    Usuario patata
      0
    Usuario patata
      1 100
    Procesador 5
    Procesador 1
    Procesador 2
    Procesador 3
    Procesador 4
    Procesador 5
      0 patata 100 10 10
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
    Procesador 10
    Usuario patata
      0
    Usuario boniato
      1 101
    Usuario lechuga
      1 102
    Usuario boniato
      0
    Usuario lechuga
      1 102
    Procesador 5
      0 patata 100 10 10
    Procesador 10
      0 boniato 101 41 20
    Usuario patata
      0
    Usuario boniato
      6 103
    Usuario lechuga
      3 102
    Usuario patata
      0
    Usuario boniato
      2 108
    Usuario lechuga
      1 110
    Procesador 1
    Procesador 2
    Procesador 3
      0 lechuga 109 30 20
    Procesador 4
      0 boniato 106 7 10
      7 lechuga 102 1 1
      8 boniato 107 30 20
    Procesador 5
      0 patata 100 10 10
      10 boniato 104 12 100
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
      0 boniato 105 20 80
    Procesador 10
      0 boniato 101 41 20
    Procesador 1
    Procesador 2
    Procesador 3
      0 lechuga 109 30 9
    Procesador 4
      8 boniato 107 30 9
    Procesador 5
      10 boniato 104 12 89
    Procesador 6
    Procesador 7
    Procesador 8
    Procesador 9
      0 boniato 105 20 69
    Procesador 10
      0 boniato 101 41 9
    Usuario patata
    Usuario boniato
      2 108
    Usuario lechuga
      1 110
    Procesador 6
    Usuario boniato
      3 108
    Procesador 6
      0 boniato 112 10 10
    Usuario boniato
      3 108
    Procesador 4
      8 boniato 107 30 9
    Procesador 4
    Procesador 1
    Procesador 2
      0 boniato 108 15 40
      15 boniato 103 60 8
      75 lechuga 110 15 40
    Usuario boniato
      1 111
    Usuario lechuga
      0
    
  • Information
    Author
    PR02
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make