Está en la página 1de 5

Viajes Dimensionales

Un grupo de científicos del laboratorio de Física de la UCV ha estado trabajando en el


desarrollo de una fuente de energía limpia llamada ULTRA, capaz de proporcionar energía a todo una
nación sin la mas mínima cantidad de contaminación, lastimosamente, los materiales necesarios para el
desarrollo de ULTRA escapan a nuestra comprensión .

Sorpresivamente los científicos descubrieron un método para poder viajar entre dimensiones,
para este método se desarrollaron las llamadas cargas de dimensiones, las cuales permiten poder viajar
entre las diferentes dimensiones, esto permitiría poder recolectar los artículos necesarios para poder
tener el conocimiento necesario, y así poder construir a ULTRA, por desgracia estos viajes están
plagados de peligros y grandes costos, por lo que le pidieron a los estudiantes de la asignatura
algoritmo y estructura de datos desarrollar un algoritmo capaz de calcular el costo de los distintos
viajes y conocer si es posible la construcción de ULTRA.

Se le pide al estudiante que diseñe un algoritmo capaz de calcular si es posible conseguir los
elementos necesarios para poder estudiarlos y así posiblemente construir a ULTRA, para la obtención
de estos objetos los científicos están dispuestos a enviar a un grupo de exploradores
transdimensionales, debido a que cada explorador pose un nivel de habilidad diferente y el numero
de cargas de dimensiones son limitados, se les asignara un numero especifico de cargas a cada
explorador.
Debido a que se ha podido observar las diferentes dimensiones, se puede saber el nivel de
peligro que representa la recolección de los diferentes objetos y de esta forma saber cuanta habilidad
mínima es necesaria para que los exploradores puedan recolectar dicho objeto.

De las dimensiones, además se conocen:


• Nombre, indica el nombre de la dimensión.
• Costo, indica el costo de cargas dimensionales necesario para poder acceder a esa
dimensión.
• Objetos, numero de objetos que se encuentra en dicha dimensión.

De este modo el conocimiento de los objetos son los siguientes:


• Nombre, nombre dado por los científicos del objeto en cuestión.
• Peligro, numero que indica la cantidad de habilidad necesaria para recolectar dicho
objeto.
• Peso, el objeto en si pose un determinado peso.

Es importante mencionar que debido al cansancio y las necesidades físicas de los exploradores,
estos tienen un numero limite de objetos y cantidad de peso pueden cargar hasta regresar a nuestra
dimensión, ademas de que se limitara el numero de saltos dimensionales de los exploradores para que
regresen a nuestra dimensión por motivos de salud, y siempre como mínimo sera necesario 100 cargas
dimensionales para que los exploradores puedan regresar a nuestra dimensión.

Por consiguiente, de los exploradores se conoce:


• Nombre, representa el nombre del valiente explorador.
• Nivel de habilidad, indica la habilidad del explorador.
• Cargas dimensionales, numero de cargas que posee el explorador.
• Peso soportable, indica la cantidad de peso que pueden cargar.
• Espacio en morral, indica el numero de objetos que pueden cargar en un viaje.

Lo importante de estos viajes es la recolección de los objetos, ya que serán utilizados para
obtener conocimientos para poder construir a ULTRA, por lo tanto, siempre se pedirá poder
conseguir la mayor cantidad de objetos posibles, con un numero mínimo de objetos, lo cual indicaría
si la búsqueda resulto un éxito o no.
Entrada:
La entrada sera a través de un archivo de texto llamado Entrada.in, que tiene:

1. Una linea con 4 enteros, representados como: E U R O


E numero de exploradores, U numero de universos, R restricción de viajes, O objetos
necesarios.

2. E lineas indicando a los exploradores, que serán representados como: N H C P M


N nombre del explorador, H nivel de habilidad, C numero de cargas dimensionales que
posee, P cantidad de peso que pude cargar, M numero de espacio disponible en su morral.

3. Una linea que representa a uno de los U universos seguido por sus objetos disponibles, estos
universos serán representados como: Nu Co Ob
Nu nombre del universo, Co costo de cargas necesarios para acceder al mismo, Ob numero
de objetos que se encuentran en dicho universo.

4. Ob lineas indicando a los distintos objetos que fueron enumerados en el universo anterior, estos
objetos serán representados como: No Pe Ps
No nombre del objeto, Pe nivel de peligro del mismo, Ps peso del mismo.

Salida:

La salida sera vía consola, tendrá que indicar el mensaje “Se han logrado conseguir N
objetos” (siendo N el numero de objetos recolectados por todos los exploradores), seguido por una
linea indicando el nombre del explorador, el numero de cargas restantes que le quedo, y por ultimo el
nombre de los objetos recolectados, esto por cada explorador que participo en la misión.

En caso de que no se pudiera conseguir la cantidad de Objetos necesarios, se debe de indicar


con el mensaje “La búsqueda ha sido infructuosa, no se pudieron conseguir los objetos necesarios”
Ejemplo 1:

Entrada: Salida
2316 Se han logrado conseguir 6 objetos
Rickardo 8 1000 400 2 El explorador Rickardo le quedan 400 cargas
Mortadela 4 1000 300 3 consiguio:
Universo_NeoCarbono 600 2 HiperMotor
Computadora_HiperCuantica 4 50 TetraConductor
Micronanoprocesador 2 50 IA_Multidimensional_Avanzada
Universo_MicroUniverso 200 3 El explorador Mortadela le quedan 200 cargas
HiperMotor 8 50 consiguio:
TetraConductor 8 100 Comunicaror_Universal
IA_Multidimensional_Avanzada 8 400 Comunicaror_Tans-Universal
Universo_Electro_Paraiso 300 3 Intercomunicador_Espectral
Comunicaror_Universal 4 100
Comunicaror_Tans-Universal 4 200
Intercomunicador_Espectral 4 300

Ejemplo 2:

Entrada: Salida
2316 La busqueda ha sido infructuosa, no se pudieron
Rickardo 8 1000 400 2 conseguir los objetos necesarios
Mortadela 4 1000 300 3
Universo_NeoCarbono 600 2
Computadora_HiperCuantica 4 50
Micronanoprocesador 2 50
Universo_MicroUniverso 200 3
HiperMotor 8 50
TetraConductor 8 100
IA_Multidimensional_Avanzada 8 400
Universo_Electro_Paraiso 300 1
Comunicaror_Tans-Universal 4 5000
Notas:

• Lenguaje a utilizar: C++.


• La entrada sera estrictamente por archivo de texto, llamado Entrada.in.
• Solo permitirá la entrega de un solo archivo con el formato: <Nombre_estudiante>.cpp
• Es necesario conseguir la mayor cantidad posible de objetos.
• Ningún explorador puede quedarse varado en otro universo, siempre tiene que regresar.
• El costo de viajar hasta nuestro universo es de 100 cargas dimensionales.
• El proyecto sera probado bajo un sistema operativo GNU/Linux, por lo tanto se recomienda a
los estudiantes probar su algoritmo en dicho SO.
• Las copias serán severamente penalizadas según lo establecido en la Ley de Universidades. Se
anima a la discusión pero se prohíbe la copia de proyectos. Cualquier proyecto entregado debe
ser fruto de su propio trabajo.

También podría gustarte