Mapas de calor
Considere una habitación rectangular, en cuyo techo tenemos una cámara térmica apuntando hacia abajo. En la habitación, hay algunas fuentes de intensidad de calor1-9
, siendo la temperatura de fondo 0
. El calor se disipa de cada fuente, cayendo en una unidad por paso (no diagonal). Por ejemplo, la 20x10
sala
...........1........
....................
...8................
..5...............2.
....................
.1..................
................1...
.................65.
....................
............2.......
contiene 9 fuentes de calor, y el gradiente de temperatura que muestra la cámara térmica es
34565432100100000000
45676543210000000000
56787654321000000110
45676543210000001221
34565432100000012321
23454321000000123432
12343210000001234543
01232100000012345654
00121000000011234543
00010000000121123432
En forma gráfica, esto podría verse así:
A partir del gradiente, podemos inferir las posiciones e intensidades de algunas fuentes de calor, pero no todas. Por ejemplo, todos los 9
s siempre se pueden inferir, ya que tienen la temperatura máxima, y también pueden hacerlo 8
en este caso, ya que produce un máximo local en el gradiente. El 2
borde cercano a la derecha también se puede inferir, aunque no esté en un máximo local, ya que no tiene otro 2
como vecino. Los 5
s, por otro lado, no se infieren, ya que su calor también podría ser producido por las fuentes más intensas cercanas a ellos. Los 0
son conocidos s para contener no hay fuentes de calor, pero todos los otros azulejos pueden potencialmente contener uno. Denotemos los mosaicos inciertos por guiones-
, ciertas fuentes de calor por los dígitos correspondientes y cierto espacio vacío por períodos .
:
---------..1........
----------..........
---8-------......--.
----------......--2-
---------......-----
--------......------
-------......-------
.-----......-----6--
..---.......--------
...-.......-2-------
Su tarea será producir este patrón inferido a partir del gradiente de temperatura.
Reglas
Se le da la entrada como una cadena delimitada por líneas nuevas o tuberías verticales |
, lo que sea más conveniente, y la salida será de la misma forma. Puede haber un delimitador final en la entrada y / o salida, pero ninguno precedente. El tamaño de la entrada puede variar, pero su ancho y alto siempre son al menos 4
. Ambas funciones y programas completos son aceptables. El conteo de bytes más bajo gana, y las lagunas estándar están prohibidas.
Casos de prueba adicionales
Entrada:
898778765432100
787667654321100
677656543211210
678765432112321
567654321123210
que se ve así en forma gráfica:
Salida:
-9---8-------..
-------------..
--------------.
--8---------3--
-----------3--.
Entrada:
7898
8787
7676
6565
Salida:
--9-
8---
----
----
Entrada:
00001
00000
00000
10000
Salida:
....1
.....
.....
1....