Spilja
Školsko natjecanje iz informatike 2019. / Prva podskupina (3. i 4. razred) - 2. zadatak
Kamenu špilju prikazujemo tablicom od \(R\) redova i \(S\) stupaca, pri čemu je kamen predstavljen znakom '#' (hash ili ljestve), a prazan prostor znakom '.' (točka). Tlo špilje čini nakupina kamenja predstavljena donjim redovima tablice, a gornji dio („plafon“) čini čvrsta nakupina kamenja predstavljena gornjim redovima tablice, kao u sljedećem primjeru:
#######
####.##
#.#...#
.......
.......
..#...#
#######
Urušavanjem špilje cijeli gornji dio pada na donji, ne mijenjajući pritom svoj oblik: svi komadi u nakupini padaju povezani dok god je to moguće. Budući da je gornja nakupina vrlo čvrsta, čim neki kamen iz padajuće nakupine padne na kamen koji pripada tlu špilje, cijela nakupina prestane padati. Za gornji primjer nakon urušavanja dobivamo sljedeći izgled:
.......
.......
#######
####.##
#.#...#
..#...#
#######
Napišite program koji ispisuje izgled špilje nakon opisanog urušavanja.
Ulazni podaci
U prvom retku nalaze se prirodni brojevi \(R\) i \(S\) \((3 \leq R, S \leq 10)\) iz teksta zadatka. U sljedećih \(R\) redaka nalazi se po \(S\) znakova iz skupa {'.', '#'} koji opisuju izgled špilje kao što je opisano u tekstu zadatka. Gornji i donji redak sastojat će se samo od znakova '#' (kamen), a svaki kamen špilje bit će duž svog stupca povezan ili s gornjim, ili s donjim retkom špilje. Gornji i donji dio bit će odvojeni barem jednim retkom sastavljenim samo od znakova '.' (točka).
Izlazni podaci
Ispišite izgled špilje nakon urušavanja, u istom obliku i istih dimenzija kao u ulaznim podatcima \((R x S)\), koristeći iste znakove, pri čemu prostor oslobođen padanjem gornjeg dijela špilje ispunite točkama.
Test primjeri
Ulaz
5 8
########
.###..#.
........
#...#...
########
Izlaz
........
........
########
#####.#.
########
Ulaz
8 5
#####
.###.
..#..
.....
.....
..#..
.###.
#####
Izlaz
.....
.....
#####
.###.
..#..
..#..
.###.
#####
Comments