Problem D
Planet X
Året är 2109 och en grupp forskare har just upptäckt “Planet X”, en tidigare okänd planet här i vårt egna solsystem, bortom Plutos omloppsbana. Genast skickar forskargruppen ut en sond för att göra mätningar, och kort därefter får de tillbaka mätdata.
Forskarna är specifikt intresserade av hur ytan på Planet X ser ut. Vi representerar här ytan som ett $N \times M$ rutnät, där varje ruta har en höjd mellan $0$ och $9$.
Ett mätinstrument på sonden har lyckats mäta den specifika höjden på vissa, men inte alla, rutor. Utifrån den kemiska sammansättningen i ytan vet vi att det inte är särskilt brant på planeten: höjden mellan två intilliggande rutor (rutor som delar en kant) kan aldrig skilja med mer än ett.
Nu behöver forskarna din hjälp för att få ut så mycket information från denna data som möjligt. Närmare bestämt vill de att du givet höjden på några av rutorna hittar höjden på alla andra rutor som går att bestämma entydigt.
Indata
På den första raden står två heltal $1 \le N,M \le 10$, höjden på rutnätet och bredden på rutnätet respektive. Därefter följer $N$ rader med $M$ tecken på varje. Det $j:te$ tecknet på rad $i$ är en . ifall inget värde för denna ruta finns, och är en siffra mellan $0$ och $9$ som motsvarar höjden på rutan annars.
Minst en ruta innehåller en siffra.
Utdata
Programmet ska skriva ut $N$ rader med $M$ tecken på varje: rutnätet som det ser ut efter att korrekta höjder är ifyllda på alla rutor där höjden går att bestämma.
Poängsättning
Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Fall |
Poängvärde |
Gränser |
$1$ |
$20$ |
$N = 1$ |
$2$ |
$20$ |
$1 \leq M \cdot N \leq 8$ |
$3$ |
$60$ |
Inga ytterligare begränsningar. |
Sample Input 1 | Sample Output 1 |
---|---|
2 3 ..6 3.. |
456 345 |
Sample Input 2 | Sample Output 2 |
---|---|
1 8 .2.3..6. |
.2.3456. |
Sample Input 3 | Sample Output 3 |
---|---|
4 5 ..3.. ...5. .6... ....2 |
.434. .5454 .6543 .5432 |