Prihlásenie Registrácia  

A - Strecha

Časový limit: 1s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Firma, v ktorej pracujete, dostala zakázku na softvér pre architektov. Vašou úlohou bude naprogramovať časť programu, ktorá sa bude starať o bezpečnosť ľudí na strechách budov.

Úloha

Daný je nákres strechy, ktorý je rozdelený do políčok veľkosti meter x meter. Jedno políčko je buď celé pokryté strechou alebo je prázdne. Po načítaní nákresu je potrebné označiť bezpečnú plochu. Za bezpečnú plochu strechy sa pokladá najväčšia možná oblasť, ktorej každý bod je od najbližšieho okraja strechy vzdialený minimálne jeden meter. Všetky pochybnosti a správanie na okrajových pripadoch by mali objasniť príklady. Jeden nákres môže obsahovať aj viac striech rôznych tvarov a veľkostí. Nie každá strecha musí nutne mať nejakú bezpečnú plochu.

Vstup

Prvý riadok vstupu obsahuje dve celé čísla M,N, 1 ≤ M,N ≤ 50, počet riadkov a stĺpcov nákresu (rozmer v metroch). Ďalej nasleduje M riadkov a každý obsahuje N znakov. Znak bodka znázorňuje prázdne miesto a znak x znázorňuje povrch strechy. Všetky políčka mimo nákresu treba pokladať za prázdne.

Výstup

Výstup má obsahovať M riadkov, každý obsahujúci N znakov. Znak bodka znázorňuje prázdne miesto, znak x znázorňuje nebezpečnú časť a znak # bezpečnú časť strechy.

Príklad 1

Vstup:

6 6
......
..xxx.
.xxxx.
.xxxx.
.xxxx.
......

Výstup:

......
..xxx.
.xx#x.
.x##x.
.xxxx.
......

Príklad 2

Vstup:

20 20
xxxxxx..xxxxx.......
xxxxxx..xxxxx.xxx...
xxxxxx..xxxxx.xxx...
xxxxxx..xxxxx.xxx...
........xxxxx.......
....................
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxx...........xxxx
xxxxx.xxxxxxxxx.xxxx
xxxxx.xxxxxxxxx.xxxx
xxxxx.xxx.xxxxx.xxxx
xxxxx.xxxx.xxxx.xxxx
xxxxx.xxxxxxxxx.xxxx
xxxxx.xxxxxxxxx.xxxx
xxxxx...........xxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx

Výstup:

xxxxxx..xxxxx.......
x####x..x###x.xxx...
x####x..x###x.x#x...
xxxxxx..x###x.xxx...
........xxxxx.......
....................
xxxxxxxxxxxxxxxxxxxx
x##################x
x###xxxxxxxxxxxxx##x
x###x...........x##x
x###x.xxxxxxxxx.x##x
x###x.x#xxx###x.x##x
x###x.x#x.xx##x.x##x
x###x.x#xx.x##x.x##x
x###x.x##xxx##x.x##x
x###x.xxxxxxxxx.x##x
x###x...........x##x
x###xxxxxxxxxxxxx##x
x##################x
xxxxxxxxxxxxxxxxxxxx