Este problema corresponde a la entrega intermedia de la práctica. Tened en cuenta que
Entrada
Una secuencia de instrucciones y datos que siguen el formato del enunciado de la práctica y del juego de pruebas público.
Salida
Una secuencia de resultados que siguen el formato del enunciado de la práctica y del juego de pruebas público.
Observación
El Jutge prueba vuestras entregas mediante 4 juegos de pruebas:
En un fichero llamado practica.tar tenéis que entregar
Tened en cuenta las siguientes restricciones:
Producid el fichero practica.tar con la instrucción Linux
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
desde el directorio/carpeta donde tengáis los ficheros que vais a entregar. Incluid en vuestro Makefile una regla con esta instrucción, de forma que el .tar se pueda generar ejecutando make practica.tar. Con eso reduciréis 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.
Las clases básicas se adjuntan en la carpeta comprimida public_files (icono del gatito). El Jutge usará estas versiones para probar vuestras entregas.
Input
crea_terminal 1 5 3 num_hileras num_plazas num_pisos inserta_contenedor W 3 inserta_contenedor X 2 inserta_contenedor R 1 inserta_contenedor Y 3 inserta_contenedor Z 1 inserta_contenedor T 2 inserta_contenedor Q 1 inserta_contenedor U 1 area_almacenaje inserta_contenedor U 1 retira_contenedor PEPE donde T longitud T donde NOESTA longitud NOESTA contenedor_ocupa 0 2 1 contenedor_ocupa 0 4 2 contenedor_ocupa 1 0 0 retira_contenedor Q area_almacenaje huecos contenedores retira_contenedor T retira_contenedor R inserta_contenedor T 2 area_almacenaje huecos contenedores crea_terminal 1 6 3 i A 3 i B 2 i C 3 i D 1 i E 1 i F 3 i G 1 i H 2 area_almacenaje huecos r D area_almacenaje huecos r H i I 1 i J 3 area_almacenaje huecos contenedores crea_terminal 3 3 4 i MM0 1 i NU 1 i SOS 1 i BARTO 3 i ABC 2 i WERT 1 i QWE 3 i F25 3 i JAJA 1 i OH 2 i UBUNTU 2 area_almacenaje huecos contenedores retira_contenedor UBUNTU inserta_contenedor VAX 3 inserta_contenedor ZAS 2 retira_contenedor WERT retira_contenedor SOS area_almacenaje huecos contenedores fin
Output
#crea_terminal 1 5 3 #num_hileras 1 #num_plazas 5 #num_pisos 3 #inserta_contenedor W 3 <0,0,0> #inserta_contenedor X 2 <0,3,0> #inserta_contenedor R 1 <0,0,1> #inserta_contenedor Y 3 <0,1,1> #inserta_contenedor Z 1 <0,4,1> #inserta_contenedor T 2 <0,0,2> #inserta_contenedor Q 1 <0,2,2> #inserta_contenedor U 1 <0,3,2> #area_almacenaje hilera 0 2 TTQU 1 RYYYZ 0 WWWXX 01234 #inserta_contenedor U 1 error: el contenedor ya existe #retira_contenedor PEPE error: el contenedor no existe #donde T <0,0,2> #longitud T 2 #donde NOESTA <-1,-1,-1> #longitud NOESTA error: el contenedor no existe #contenedor_ocupa 0 2 1 Y #contenedor_ocupa 0 4 2 #contenedor_ocupa 1 0 0 error: ubicacion fuera de rango #retira_contenedor Q #area_almacenaje hilera 0 2 TT U 1 RYYYZ 0 WWWXX 01234 #huecos (<0,2,2>,1) (<0,4,2>,1) #contenedores R(<0,0,1>,1) T(<0,0,2>,2) U(<0,3,2>,1) W(<0,0,0>,3) X(<0,3,0>,2) Y(<0,1,1>,3) Z(<0,4,1>,1) #retira_contenedor T #retira_contenedor R #inserta_contenedor T 2 <0,1,2> #area_almacenaje hilera 0 2 TTU 1 YYYZ 0 WWWXX 01234 #huecos (<0,0,1>,1) (<0,4,2>,1) #contenedores T(<0,1,2>,2) U(<0,3,2>,1) W(<0,0,0>,3) X(<0,3,0>,2) Y(<0,1,1>,3) Z(<0,4,1>,1) #crea_terminal 1 6 3 #i A 3 <0,0,0> #i B 2 <0,0,1> #i C 3 <0,3,0> #i D 1 <0,0,2> #i E 1 <0,1,2> #i F 3 <0,2,1> #i G 1 <0,5,1> #i H 2 <0,2,2> #area_almacenaje hilera 0 2 DEHH 1 BBFFFG 0 AAACCC 012345 #huecos (<0,4,2>,2) #r D #area_almacenaje hilera 0 2 EHH 1 BBFFFG 0 AAACCC 012345 #huecos (<0,0,2>,1) (<0,4,2>,2) #r H #i I 1 <0,0,2> #i J 3 <0,2,2> #area_almacenaje hilera 0 2 IEJJJ 1 BBFFFG 0 AAACCC 012345 #huecos (<0,5,2>,1) #contenedores A(<0,0,0>,3) B(<0,0,1>,2) C(<0,3,0>,3) E(<0,1,2>,1) F(<0,2,1>,3) G(<0,5,1>,1) I(<0,0,2>,1) J(<0,2,2>,3) #crea_terminal 3 3 4 #i MM0 1 <0,0,0> #i NU 1 <0,0,1> #i SOS 1 <0,0,2> #i BARTO 3 <1,0,0> #i ABC 2 <0,1,0> #i WERT 1 <0,0,3> #i QWE 3 <1,0,1> #i F25 3 <1,0,2> #i JAJA 1 <0,1,1> #i OH 2 <1,0,3> #i UBUNTU 2 <2,0,0> #area_almacenaje hilera 0 3 W 2 S 1 NJ 0 MAA 012 hilera 1 3 OO 2 FFF 1 QQQ 0 BBB 012 hilera 2 3 2 1 0 UU 012 #huecos (<0,1,2>,1) (<0,2,1>,1) (<1,2,3>,1) (<2,2,0>,1) (<2,0,1>,2) #contenedores ABC(<0,1,0>,2) BARTO(<1,0,0>,3) F25(<1,0,2>,3) JAJA(<0,1,1>,1) MM0(<0,0,0>,1) NU(<0,0,1>,1) OH(<1,0,3>,2) QWE(<1,0,1>,3) SOS(<0,0,2>,1) UBUNTU(<2,0,0>,2) WERT(<0,0,3>,1) #retira_contenedor UBUNTU #inserta_contenedor VAX 3 <2,0,0> #inserta_contenedor ZAS 2 <2,0,1> #retira_contenedor WERT #retira_contenedor SOS #area_almacenaje hilera 0 3 2 1 NJ 0 MAA 012 hilera 1 3 OO 2 FFF 1 QQQ 0 BBB 012 hilera 2 3 2 1 ZZ 0 VVV 012 #huecos (<0,2,1>,1) (<1,2,3>,1) (<2,2,1>,1) (<0,0,2>,2) (<2,0,2>,2) #contenedores ABC(<0,1,0>,2) BARTO(<1,0,0>,3) F25(<1,0,2>,3) JAJA(<0,1,1>,1) MM0(<0,0,0>,1) NU(<0,0,1>,1) OH(<1,0,3>,2) QWE(<1,0,1>,3) VAX(<2,0,0>,3) ZAS(<2,0,1>,2)