Combat Pokémon (I)

En un combat Pokémon, el camp de batalla es representa com una matriu de
N files i M columnes. Cada cel·la del camp pot estar:

- buida, o bé

- ocupada per com a màxim un Pokémon, descrit pel seu nom i els seus
  punts de vida.

Si una cel·la té punts de vida 0, es considera que el Pokémon d’aquella
posició està derrotat i la cel·la passa a ser buida.

Durant el combat es produeixen atacs que afecten files o columnes
senceres del camp de batalla:

- ROW r d: redueix en d els punts de vida de tots els Pokémon de la fila
  r.

- COL c d: redueix en d els punts de vida de tots els Pokémon de la
  columna c.

Els punts de vida mai poden ser negatius: si després d’un atac el valor
queda per sota de 0, es considera 0 i el Pokémon queda derrotat.

Després de cada operació ROW o COL, cal escriure:

- el nombre total de Pokémon vius al camp de batalla,

- el nom del Pokémon viu amb més punts de vida i els seus punts de vida.

Si no queda cap Pokémon viu, cal escriure 0 NONE.

En cas d’empat (diversos Pokémon vius amb la mateixa vida màxima), s’ha
d’escriure el nom lexicogràficament més petit.

IMPORTANT: Has d’implementar una acció que, donat un string que conté el
nom i la vida d’un Pokémon en el format nom:vida, torni:

- un string amb el nom del Pokémon,

- un int amb els seus punts de vida.

Per resoldre aquest problema pots usar la funció stoi(s), que donat un
string s amb un número, retorna l’enter corresponent a aquest número.

Entrada

La primera línia conté dos enters N i M.

A continuació venen N línies, cadascuna amb M elements separats per
espais. Cada element és:

- el símbol -, que indica una cel·la buida, o bé

- una parella nom:vida, on nom és una paraula sense espais i vida és un
  natural.

La següent línia conté un enter Q, el nombre d’operacions.

A continuació venen Q línies, cadascuna amb una operació en un dels
formats següents:

- ROW r d

- COL c d

Les files es numeren de 1 a N i les columnes de 1 a M.

Sortida

Després de cada operació ROW o COL, escriu una línia amb:
V NOM:PUNTS
on V és el nombre total de Pokémon vius, NOM és el nom del Pokémon viu
amb més punts de vida i PUNTS els punts de vida d’aquest Pokémon. Si no
queda cap Pokémon viu, escriu 0 NONE.

Per obtenir més detalls sobre la sortida consulta els jocs de proves
públics.

Informació del problema

Autoria: Bernardino Casas

Generació: 2026-01-25T17:38:42.406Z

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