El súper del ejército

Simulad el comportamiento de las colas del supermercado de un cuartel
militar. Inicialmente, hay n colas (1, 2, …, n), cada una con sus
clientes. Después, pueden producirse dos sucesos distintos:

- Un cliente llega a una cola: Si la cola está entre 1 y n, el cliente
  entra en la cola. En caso contrario, el suceso se ignora.

- Un cliente sale de una cola: Si la cola está entre 1 y n, y la cola no
  está vacía, el cliente de más graduación sale de la cola. En caso de
  empate, sale el que haya llegado antes a la cola. En caso contrario,
  el suceso se ignora.

Entrada

La entrada empieza con el número de colas n (un natural estrictamente
positivo). Siguen n líneas, una por cola, cada una de ellas con sus
clientes (una palabra) y sus graduaciones ("soldado", "sargento",
"capitan", o "coronel"), en el orden en el que han llegado a la cola.
Después viene una línea en blanco y una serie de sucesos, uno por línea:
la palabra "ENTRA" seguida del cliente, de la graduación, y de la cola
en la que entra, o la palabra "SALE" seguida de la cola de la que sale.

Salida

Primero, escribid los nombres de los clientes que salen de las colas, en
el orden en que lo hacen. Después, escribid el contenido final de las n
colas, cada una de ellas en el orden en el que saldrían los clientes.
Seguid el formato del ejemplo.

Pista: Usa las instrucciones getline(cin, st) (donde st es un string)
para leer una línea, y istringstream iss(st); para crear un stream iss
del cual leer los nombres y graduaciones, iss  > > nom  > > gra;, donde
nom y gra son también strings. Cuidado con el primer getline que hagáis,
que corresponderá a la línea donde está el número n.

Autor: Salvador Roura

Información del problema

Autoría: Salvador Roura

Generación: 2026-01-25T12:08:38.260Z

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