Heatmaps
Considere uma sala retangular, em cujo teto temos uma câmera térmica apontando para baixo. Na sala, há um certo número de fontes de calor de intensidade 1-9
, sendo a temperatura de fundo 0
. O calor se dissipa de cada fonte, diminuindo uma unidade por etapa (não diagonal). Por exemplo, a 20x10
sala
...........1........
....................
...8................
..5...............2.
....................
.1..................
................1...
.................65.
....................
............2.......
contém 9 fontes de calor, e o gradiente de temperatura mostrado pela câmera térmica é
34565432100100000000
45676543210000000000
56787654321000000110
45676543210000001221
34565432100000012321
23454321000000123432
12343210000001234543
01232100000012345654
00121000000011234543
00010000000121123432
Em forma gráfica, isso pode se parecer com:
A partir do gradiente, podemos inferir as posições e intensidades de algumas fontes de calor, mas não todas. Por exemplo, todos os 9
s sempre podem ser inferidos, uma vez que possuem a temperatura máxima, e o mesmo pode 8
ocorrer neste caso, pois produz um máximo local no gradiente. A 2
borda próxima à direita também pode ser inferida, mesmo que não esteja no máximo local, pois não possui outra 2
como vizinha. Os 5
s, por outro lado, não são inferidos, pois seu calor também pode ser produzido pelas fontes mais intensas próximas a eles. Os 0
s são conhecidos por conter nenhuma fonte de calor, mas todas as outras peças podem potencialmente conter um. Vamos denotar os azulejos incertos por hífens-
, determinadas fontes de calor pelos dígitos correspondentes e certo espaço vazio por períodos .
:
---------..1........
----------..........
---8-------......--.
----------......--2-
---------......-----
--------......------
-------......-------
.-----......-----6--
..---.......--------
...-.......-2-------
Sua tarefa será produzir esse padrão inferido a partir do gradiente de temperatura.
Regras
Você recebe a entrada como uma sequência delimitada por novas linhas ou tubos verticais |
, o que for mais conveniente, e a saída deve ter a mesma forma. Pode haver um delimitador à direita na entrada e / ou saída, mas nenhum precedente. O tamanho da entrada pode variar, mas sua largura e altura são sempre pelo menos 4
. Ambas as funções e programas completos são aceitáveis. A contagem de bytes mais baixa vence e as brechas padrão são proibidas.
Casos de teste adicionais
Entrada:
898778765432100
787667654321100
677656543211210
678765432112321
567654321123210
que se parece com isso na forma gráfica:
Saída:
-9---8-------..
-------------..
--------------.
--8---------3--
-----------3--.
Entrada:
7898
8787
7676
6565
Saída:
--9-
8---
----
----
Entrada:
00001
00000
00000
10000
Saída:
....1
.....
.....
1....