Cartes thermiques
Prenons une pièce rectangulaire, au plafond de laquelle se trouve une caméra thermique pointant vers le bas. Dans la pièce, il existe un certain nombre de sources de chaleur d'intensité 1-9
, la température de fond étant 0
. La chaleur se dissipe de chaque source, chutant d'une unité par pas (non diagonal). Par exemple, la 20x10
pièce
...........1........
....................
...8................
..5...............2.
....................
.1..................
................1...
.................65.
....................
............2.......
contient 9 sources de chaleur, et le gradient de température indiqué par la caméra thermique est
34565432100100000000
45676543210000000000
56787654321000000110
45676543210000001221
34565432100000012321
23454321000000123432
12343210000001234543
01232100000012345654
00121000000011234543
00010000000121123432
Sous forme graphique, cela pourrait ressembler à ceci:
Du gradient, nous pouvons déduire les positions et les intensités de certaines sources de chaleur, mais pas toutes. Par exemple, tous les 9
s peuvent toujours être déduits, car ils ont la température maximale, et il en va de même 8
dans ce cas, car il produit un maximum local dans le gradient. La 2
proximité de la frontière droite peut également être déduite, même si elle n'est pas au maximum local, car elle n'en a pas d'autre 2
comme voisin. Les 5
s, en revanche, ne sont pas déduits, car leur chaleur pourrait aussi bien être produite par les sources les plus intenses à proximité. Les 0
s sont connus pour ne contenir aucune source de chaleur, mais toutes les autres tuiles peuvent potentiellement en contenir une. Notons les tuiles incertaines par des tirets-
, certaines sources de chaleur par les chiffres correspondants, et certains espaces vides par périodes .
:
---------..1........
----------..........
---8-------......--.
----------......--2-
---------......-----
--------......------
-------......-------
.-----......-----6--
..---.......--------
...-.......-2-------
Votre tâche sera de produire ce modèle inféré à partir du gradient de température.
Règles
L'entrée vous est donnée sous la forme d'une chaîne délimitée par des sauts de ligne ou des tuyaux verticaux |
, selon ce qui est le plus pratique, et la sortie doit être de la même forme. Il peut y avoir un délimiteur de fin dans l'entrée et / ou la sortie, mais aucun précédent. La taille de l'entrée peut varier, mais sa largeur et sa hauteur sont toujours au moins 4
. Les fonctions et les programmes complets sont acceptables. Le nombre d'octets le plus bas l'emporte et les failles standard sont interdites.
Cas de test supplémentaires
Contribution:
898778765432100
787667654321100
677656543211210
678765432112321
567654321123210
qui ressemble à ceci sous forme graphique:
Sortie:
-9---8-------..
-------------..
--------------.
--8---------3--
-----------3--.
Contribution:
7898
8787
7676
6565
Sortie:
--9-
8---
----
----
Contribution:
00001
00000
00000
10000
Sortie:
....1
.....
.....
1....