Ejercicios‎ > ‎

Ejercicio - El Regreso de los Heroes

El regreso de los héroes



Un grupo de personas aparentemente normales poco a poco se dan cuenta de que poseen poderes especiales. Al mismo tiempo existen organizaciones secretas conocidas como ”compañías” que reclutan héroes con fines conspirativos.


La posibilidad de ganar una pelea depende de la potencia de cada héroe. La potencia de un héroe se calcula como su nivel de entrenamiento (que es un valor que se conoce para cada uno) más la potencia de su más poderosa arma (de cada arma se sabe su potencia) más la potencia de su poder.


Cada héroe tiene un único poder. Los poderes pueden ser:

  • Super Fuerza:  otorga una potencia propia de cada poder.

  • Sabiduría: otorga una cierta potencia en función del tiempo que hace que ese poder está en manos del héroe. (por ej, 2 unidades por cada día)

  • Poder místico: como un poder místico permite acumular a su vez a diversos poderes, la potencia que otorga es la sumatoria de la potencia de los poderes acumulados.


Cuando un héroe gana una pelea incrementa su nivel de entrenamiento en 1 y mejora sus habilidades dependiendo de su poder:

  • Si es super fuerza incrementa la potencia del poder en una unidad.

  • Si es sabiduría no pasa nada.

  • Si es místico acumula entre sus poderes un poder adicional que le otorga el héroe vencido:

    • Un héroe con poder superFuerza otorga un nuevo poder superFuerza, de potencia 10.

    • Un héroe con poder sabiduría otorga un nuevo poder, también sabiduría, con el doble de unidades de tiempo que el poder original.

    • Un héroe con poder místico otorga un nuevo poder místico, pero sin poderes acumulados.


De cada héroe también se sabe la historia de todos sus adversarios. Luego de la pelea, ambos contrincantes deben registrar al oponente en sus historiales respectivos.


Se pide:

  1. Calcular la potencia de cualquier héroe.

  2. Hacer que dos héroes peleen entre sí, con las correspondientes consecuencias.

  3. Hacer que un héroe se capacite adquiriendo un nuevo poder, lo que implica que el nuevo poder sustituya al anterior, pero sólo en caso que el nuevo poder sea más potente que el que tenía anteriormente.

  4. Determinar si un héroe es digno de confianza. Esto pasa cuando realizó muchas peleas (más de 3) o si es leal: Los héroes con super fuerza son leales si su potencia no supera 100. Aquellos héroes con poder de sabiduría son leales si nunca pelearon más de una vez contra el mismo adversario. Los héroes con poder místico siempre son leales.

  5. Obtener la cantidad total de oponentes diferentes con los que se hayan enfrentado alguna vez los héroes de una compañía

  6. Detectar a los traidores de una compañía, que son quienes alguna vez pelearon contra alguien de la misma compañía.



Comments