De compras RPG

Después de una dura jornada matando monstruos en los calabozos de nivel
40, ha llegado el momento de las compras. Cuentas todo el oro
conseguido, te acercas al tendero del pueblo y miras la hoja de
precios...

Tu personaje sólo puede llevar exactamente cuatro objetos encima: un
arma, un yelmo, una coraza y un brazalete. Cada uno de estos objetos te
aporta unos beneficios, o puntos, de tres tipos: puntos de ataque,
puntos de defensa, o puntos de magia. Se te pide que escribas un
programa que, dada la lista de precios, decida cómo invertir el oro
ganado para equipar a tu personaje con objetos que maximicen la suma de
estos tres tipos de puntos.

Entrada

La primera línea contiene dos naturales g y n, donde 1 ≤ g ≤ 100 es el
número de monedas de oro de que dispones y 1 ≤ n ≤ 2500 el número de
objetos que hay en la tienda. A continuación, n líneas, cada una de las
cuales siguiedo el formato tNpadm, donde t es un carácter que indica el
tipo de objeto (’A’, ’Y’, ’C’, ’B’), N es una secuencia de como mucho 20
letras mayúsculas con el nombre del objeto, p es su precio en monedas de
oro, y a, d y m son números enteros que indican los puntos de ataque,
defensa y magia que confiere la posesión del objeto.

Tu programa deberá resolver 30 entradas como las descritas en un tiempo
de 1 segundo.

Salida

Encuentra qué objetos debes comprar, sin haber más de uno de cada tipo,
para maximizar la suma de puntos de ataque, defena y magia; en caso de
haber más de una combinación óptima, escribe aquella que sea más barata.
Los datos de entrada serán tales que sólo existirá una única combinación
con esta propiedad.

En concreto, tu programa deberá escribir dos líneas. En la primera
línea, separados por espacios, deberás escribir los nombres del arma,
yelmo, coraza y brazalete que has elegido, o “NADA” si no compras objeto
de algún tipo. En la seguna línea, también separados por espacios,
escribe los puntos de ataque, defensa y magia que te otorga la
combinación elegida.

Información del problema

Autoría: Omer Giménez

Generación: 2026-01-25T11:13:21.460Z

© Jutge.org, 2006–2026.
https://jutge.org
