Dibujando Ventanas

Te han contratado para que programes el gestor de ventanas del nuevo sistema operativo favorito de todo el mundo, el Windows Vista-ZO. La pantalla del nuevo Windows es un plano cuadriculado virtualmente infinito; la parte visible de la pantalla es un recuadro rectangular de 40 por 10 bloques. La cuadrícula que ocupa la esquina inferior izquierda de la parte visible tiene coordenadas (0,0)(0,0), la superior derecha tiene coordenadas (39,9)(39, 9). Los bloques de la pantalla pueden estar vacíos (esto se marca con el carácter .) u ocupados por una ventana. Inicialmente la pantalla está vacía y el cursor ocupa la posición (0,9)(0,9).

Las ventanas se dibujan una detrás de otra. Una ventana ocupa (sobreescribe) los bloques que pudiera ocupar una ventana anterior. Cada ventana es una región rectangular que debe dibujarse del siguiente modo (los ejemplos de la página siguiente facilitan la comprensión):

Tu cometido es hacer un programa que dibuje cómo quedaría la parte visible de la pantalla después de que se ejecuten diversas órdenes de dibujado de ventanas. En particular, las órdenes posibles son:

El cursor puede desplazarse fuera de la pantalla; las ventanas dibujadas no tienen porqué empezar a dibujarse dentro de la pantalla, y no tienen porqué caber dentro de la pantalla en su totalidad.

Entrada

La primera línea contiene el natural n0n\ge 0 (el número total de casos a tratar). Cada caso consiste en una línea con el natural m0m\ge 0 (el número de órdenes a ejecutar) seguido de mm líneas, cada una de las cuales contiene una orden a ejecutar, siguiendo el formato descrito anteriormente. Durante el transcurso de las órdenes de dibujo, las coordenadas del cursor siempre cumplen |x|<106|x|<10^6 y |y|<106|y|<10^6.

Salida

Tu programa debe imprimir 10 líneas de 40 caracteres por cada caso a tratar. Separa dos casos con una línea que contenga únicamente una coma (,). Por lo tanto, si n>0n>0 la salida debe tener exactamente 10n+(n1)10n+(n-1) líneas.

Información del problema

Autoría: Omer Giménez

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

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